org.mariadb.jdbc

## Class CallableFunctionStatement

- java.lang.Object
- - org.mariadb.jdbc.MariaDbStatement
  - - org.mariadb.jdbc.BasePrepareStatement
    - - org.mariadb.jdbc.MariaDbPreparedStatementClient
      - - org.mariadb.jdbc.CallableFunctionStatement

All Implemented Interfaces:
  AutoCloseable, Cloneable, CallableStatement, PreparedStatement, Statement, Wrapper

Direct Known Subclasses:
  MariaDbFunctionStatement

    public abstract class CallableFunctionStatement
    extends MariaDbPreparedStatementClient
    implements CallableStatement

### Field Summary

Fields
`protected CallableParameterMetaData` `parameterMetadata`
`protected org.mariadb.jdbc.CallParameter[]` `params` Information about parameters, merely from registerOutputParameter() and setXXX() calls.

### Fields inherited from class org.mariadb.jdbc.MariaDbPreparedStatementClient

`parameterList, prepareResult`

### Fields inherited from class org.mariadb.jdbc.BasePrepareStatement

`hasLongData, useFractionalSeconds`

### Fields inherited from class org.mariadb.jdbc.MariaDbStatement

`batchQueries, canUseServerTimeout, closed, connection, fetchSize, lock, maxRows, mustCloseOnCompletion, options, protocol, queryTimeout, results, resultSetScrollType, timerTaskFuture, timerTaskRunnable, warningsCleared`

### Fields inherited from interface java.sql.Statement

`CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

### Constructor Summary

Constructors
Constructor and Description
`CallableFunctionStatement(MariaDbConnection connection, String sql, int resultSetScrollType)` Constructor for getter/setter of callableStatement.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`CallableFunctionStatement` `clone(MariaDbConnection connection)` Clone data.
`Array` `getArray(int parameterIndex)`
`Array` `getArray(String parameterName)`
`BigDecimal` `getBigDecimal(int parameterIndex)`
`BigDecimal` `getBigDecimal(int parameterIndex, int scale)`
`BigDecimal` `getBigDecimal(String parameterName)`
`Blob` `getBlob(int parameterIndex)`
`Blob` `getBlob(String parameterName)`
`boolean` `getBoolean(int parameterIndex)`
`boolean` `getBoolean(String parameterName)`
`byte` `getByte(int parameterIndex)`
`byte` `getByte(String parameterName)`
`byte[]` `getBytes(int parameterIndex)`
`byte[]` `getBytes(String parameterName)`
`Reader` `getCharacterStream(int parameterIndex)`
`Reader` `getCharacterStream(String parameterName)`
`Clob` `getClob(int parameterIndex)`
`Clob` `getClob(String parameterName)`
`Date` `getDate(int parameterIndex)`
`Date` `getDate(int parameterIndex, Calendar cal)`
`Date` `getDate(String parameterName)`
`Date` `getDate(String parameterName, Calendar cal)`
`double` `getDouble(int parameterIndex)`
`double` `getDouble(String parameterName)`
`float` `getFloat(int parameterIndex)`
`float` `getFloat(String parameterName)`
`int` `getInt(int parameterIndex)`
`int` `getInt(String parameterName)`
`long` `getLong(int parameterIndex)`
`long` `getLong(String parameterName)`
`Reader` `getNCharacterStream(int parameterIndex)`
`Reader` `getNCharacterStream(String parameterName)`
`NClob` `getNClob(int parameterIndex)`
`NClob` `getNClob(String parameterName)`
`String` `getNString(int parameterIndex)`
`String` `getNString(String parameterName)`
`Object` `getObject(int parameterIndex)`
`<T> T` `getObject(int parameterIndex, Class<T> type)`
`Object` `getObject(int parameterIndex, Map<String,Class<?>> map)`
`Object` `getObject(String parameterName)`
`<T> T` `getObject(String parameterName, Class<T> type)`
`Object` `getObject(String parameterName, Map<String,Class<?>> map)`
`ParameterMetaData` `getParameterMetaData()` Retrieves the number, types and properties of this `PreparedStatement` object's parameters.
`Ref` `getRef(int parameterIndex)`
`Ref` `getRef(String parameterName)`
`protected abstract SelectResultSet` `getResult()`
`RowId` `getRowId(int parameterIndex)`
`RowId` `getRowId(String parameterName)`
`short` `getShort(int parameterIndex)`
`short` `getShort(String parameterName)`
`SQLXML` `getSQLXML(int parameterIndex)`
`SQLXML` `getSQLXML(String parameterName)`
`String` `getString(int parameterIndex)`
`String` `getString(String parameterName)`
`Time` `getTime(int parameterIndex)`
`Time` `getTime(int parameterIndex, Calendar cal)`
`Time` `getTime(String parameterName)`
`Time` `getTime(String parameterName, Calendar cal)`
`Timestamp` `getTimestamp(int parameterIndex)`
`Timestamp` `getTimestamp(int parameterIndex, Calendar cal)`
`Timestamp` `getTimestamp(String parameterName)`
`Timestamp` `getTimestamp(String parameterName, Calendar cal)`
`URL` `getURL(int parameterIndex)`
`URL` `getURL(String parameterName)`
`void` `initFunctionData(int parametersCount)` Data initialisation when parameterCount is defined.
`protected int` `nameToIndex(String parameterName)` Convert parameter name to parameter index in the query.
`void` `registerOutParameter(int parameterIndex, int sqlType)`
`void` `registerOutParameter(int parameterIndex, int sqlType, int scale)` Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`.
`void` `registerOutParameter(int parameterIndex, int sqlType, String typeName)` Registers the designated output parameter.
`void` `registerOutParameter(String parameterName, int sqlType)`
`void` `registerOutParameter(String parameterName, int sqlType, int scale)`
`void` `registerOutParameter(String parameterName, int sqlType, String typeName)`
`void` `setAsciiStream(String parameterName, InputStream inputStream)`
`void` `setAsciiStream(String parameterName, InputStream inputStream, int length)`
`void` `setAsciiStream(String parameterName, InputStream inputStream, long length)`
`void` `setBigDecimal(String parameterName, BigDecimal bigDecimal)`
`void` `setBinaryStream(String parameterName, InputStream inputStream)`
`void` `setBinaryStream(String parameterName, InputStream inputStream, int length)`
`void` `setBinaryStream(String parameterName, InputStream inputStream, long length)`
`void` `setBlob(String parameterName, Blob blob)`
`void` `setBlob(String parameterName, InputStream inputStream)`
`void` `setBlob(String parameterName, InputStream inputStream, long length)`
`void` `setBoolean(String parameterName, boolean booleanValue)`
`void` `setByte(String parameterName, byte byteValue)`
`void` `setBytes(String parameterName, byte[] bytes)`
`void` `setCharacterStream(String parameterName, Reader reader)`
`void` `setCharacterStream(String parameterName, Reader reader, int length)`
`void` `setCharacterStream(String parameterName, Reader reader, long length)`
`void` `setClob(String parameterName, Clob clob)`
`void` `setClob(String parameterName, Reader reader)`
`void` `setClob(String parameterName, Reader reader, long length)`
`void` `setDate(String parameterName, Date date)`
`void` `setDate(String parameterName, Date date, Calendar cal)`
`void` `setDouble(String parameterName, double doubleValue)`
`void` `setFloat(String parameterName, float floatValue)`
`void` `setInt(String parameterName, int intValue)`
`void` `setLong(String parameterName, long longValue)`
`void` `setNCharacterStream(String parameterName, Reader reader)`
`void` `setNCharacterStream(String parameterName, Reader reader, long length)`
`void` `setNClob(String parameterName, NClob value)`
`void` `setNClob(String parameterName, Reader reader)`
`void` `setNClob(String parameterName, Reader reader, long length)`
`void` `setNString(String parameterName, String value)`
`void` `setNull(String parameterName, int sqlType)`
`void` `setNull(String parameterName, int sqlType, String typeName)`
`void` `setObject(String parameterName, Object obj)`
`void` `setObject(String parameterName, Object obj, int targetSqlType)`
`void` `setObject(String parameterName, Object obj, int targetSqlType, int scale)`
`void` `setRowId(String parameterName, RowId rowid)`
`void` `setShort(String parameterName, short shortValue)`
`void` `setSQLXML(String parameterName, SQLXML xmlObject)`
`void` `setString(String parameterName, String stringValue)`
`void` `setTime(String parameterName, Time time)`
`void` `setTime(String parameterName, Time time, Calendar cal)`
`void` `setTimestamp(String parameterName, Timestamp timestamp)`
`void` `setTimestamp(String parameterName, Timestamp timestamp, Calendar cal)`
`void` `setURL(String parameterName, URL url)`
`boolean` `wasNull()`

### Methods inherited from class org.mariadb.jdbc.MariaDbPreparedStatementClient

`addBatch, addBatch, clearBatch, clearParameters, close, execute, executeBatch, executeInternal, executeInternalBatch, executeLargeBatch, executeQuery, executeUpdate, getMetaData, getParameterCount, getPrepareResult, setParameter, toString`

### Methods inherited from class org.mariadb.jdbc.BasePrepareStatement

`setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setInternalObject, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

### Methods inherited from class org.mariadb.jdbc.MariaDbStatement

`cancel, checkClose, checkCloseOnCompletion, clearWarnings, closeOnCompletion, execute, execute, execute, execute, executeBatchEpilogue, executeBatchExceptionEpilogue, executeEpilogue, executeExceptionEpilogue, executeInternal, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeQueryPrologue, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getProtocol, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getServerThreadId, getUpdateCount, getWarnings, handleFailoverAndTimeout, internalBatchExecution, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setTimerTask, skipMoreResults, stopTimeoutTask, testExecute, unloadDriver, unwrap`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.sql.CallableStatement

`registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, registerOutParameter, setObject, setObject`

### Methods inherited from interface java.sql.PreparedStatement

`addBatch, clearParameters, execute, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL`

### Methods inherited from interface java.sql.Statement

`addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

### Methods inherited from interface java.sql.Wrapper

`isWrapperFor, unwrap`

### Field Detail

#### params

    protected org.mariadb.jdbc.CallParameter[] params

Information about parameters, merely from registerOutputParameter() and setXXX() calls.

#### parameterMetadata

    protected CallableParameterMetaData parameterMetadata

### Constructor Detail

#### CallableFunctionStatement

    public CallableFunctionStatement(MariaDbConnection connection,
                                     String sql,
                                     int resultSetScrollType)
                              throws SQLException

Constructor for getter/setter of callableStatement.

Parameters:
  `connection` - current connection
  `sql` - query
  `resultSetScrollType` - one of the following `ResultSet` constants: `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
Throws:
  `SQLException` - if clientPrepareStatement creation throw an exception

### Method Detail

#### clone

    public CallableFunctionStatement clone(MariaDbConnection connection)
                                    throws CloneNotSupportedException

Clone data.

Overrides:
  `clone` in class `MariaDbPreparedStatementClient`
Parameters:
  `connection` - connection
Returns:
  Cloned .
Throws:
  `CloneNotSupportedException` - if any error occur.

#### initFunctionData

    public void initFunctionData(int parametersCount)

Data initialisation when parameterCount is defined.

Parameters:
  `parametersCount` - number of parameters

#### getResult

    protected abstract SelectResultSet getResult()
                                          throws SQLException

Throws:
  `SQLException`

#### getParameterMetaData

    public ParameterMetaData getParameterMetaData()
                                           throws SQLException

Description copied from class: `MariaDbPreparedStatementClient`
Retrieves the number, types and properties of this `PreparedStatement` object's parameters.

Specified by:
  `getParameterMetaData` in interface `PreparedStatement`
Overrides:
  `getParameterMetaData` in class `MariaDbPreparedStatementClient`
Returns:
  a `ParameterMetaData` object that contains information about the number, types and properties for each parameter marker of this `PreparedStatement` object
Throws:
  `SQLException` - if a database access error occurs or this method is called on a closed `PreparedStatement`
See Also:
  `ParameterMetaData`

#### nameToIndex

    protected int nameToIndex(String parameterName)
                       throws SQLException

Convert parameter name to parameter index in the query.

Parameters:
  `parameterName` - name
Returns:
  index
Throws:
  `SQLException` - exception

#### wasNull

    public boolean wasNull()
                    throws SQLException

Specified by:
  `wasNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(int parameterIndex)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getString

    public String getString(String parameterName)
                     throws SQLException

Specified by:
  `getString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(int parameterIndex)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBoolean

    public boolean getBoolean(String parameterName)
                       throws SQLException

Specified by:
  `getBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(int parameterIndex)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getByte

    public byte getByte(String parameterName)
                 throws SQLException

Specified by:
  `getByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(int parameterIndex)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getShort

    public short getShort(String parameterName)
                   throws SQLException

Specified by:
  `getShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(String parameterName)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getInt

    public int getInt(int parameterIndex)
               throws SQLException

Specified by:
  `getInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(String parameterName)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getLong

    public long getLong(int parameterIndex)
                 throws SQLException

Specified by:
  `getLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(String parameterName)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getFloat

    public float getFloat(int parameterIndex)
                   throws SQLException

Specified by:
  `getFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(int parameterIndex)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDouble

    public double getDouble(String parameterName)
                     throws SQLException

Specified by:
  `getDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(int parameterIndex,
                                    int scale)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(int parameterIndex)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBigDecimal

    public BigDecimal getBigDecimal(String parameterName)
                             throws SQLException

Specified by:
  `getBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(String parameterName)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBytes

    public byte[] getBytes(int parameterIndex)
                    throws SQLException

Specified by:
  `getBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(String parameterName,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getDate

    public Date getDate(int parameterIndex,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(String parameterName,
                        Calendar cal)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTime

    public Time getTime(int parameterIndex)
                 throws SQLException

Specified by:
  `getTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(int parameterIndex,
                                  Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getTimestamp

    public Timestamp getTimestamp(String parameterName,
                                  Calendar cal)
                           throws SQLException

Specified by:
  `getTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(int parameterIndex)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(int parameterIndex,
                            Map<String,Class<?>> map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public Object getObject(String parameterName,
                            Map<String,Class<?>> map)
                     throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public <T> T getObject(int parameterIndex,
                           Class<T> type)
                    throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getObject

    public <T> T getObject(String parameterName,
                           Class<T> type)
                    throws SQLException

Specified by:
  `getObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(int parameterIndex)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRef

    public Ref getRef(String parameterName)
               throws SQLException

Specified by:
  `getRef` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(int parameterIndex)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getBlob

    public Blob getBlob(String parameterName)
                 throws SQLException

Specified by:
  `getBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(String parameterName)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getClob

    public Clob getClob(int parameterIndex)
                 throws SQLException

Specified by:
  `getClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(String parameterName)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getArray

    public Array getArray(int parameterIndex)
                   throws SQLException

Specified by:
  `getArray` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(int parameterIndex)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### getURL

    public URL getURL(String parameterName)
               throws SQLException

Specified by:
  `getURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRowId

    public RowId getRowId(int parameterIndex)
                   throws SQLException

Specified by:
  `getRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### getRowId

    public RowId getRowId(String parameterName)
                   throws SQLException

Specified by:
  `getRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNClob

    public NClob getNClob(int parameterIndex)
                   throws SQLException

Specified by:
  `getNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNClob

    public NClob getNClob(String parameterName)
                   throws SQLException

Specified by:
  `getNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### getSQLXML

    public SQLXML getSQLXML(int parameterIndex)
                     throws SQLException

Specified by:
  `getSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### getSQLXML

    public SQLXML getSQLXML(String parameterName)
                     throws SQLException

Specified by:
  `getSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNString

    public String getNString(int parameterIndex)
                      throws SQLException

Specified by:
  `getNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNString

    public String getNString(String parameterName)
                      throws SQLException

Specified by:
  `getNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNCharacterStream

    public Reader getNCharacterStream(int parameterIndex)
                               throws SQLException

Specified by:
  `getNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getNCharacterStream

    public Reader getNCharacterStream(String parameterName)
                               throws SQLException

Specified by:
  `getNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getCharacterStream

    public Reader getCharacterStream(int parameterIndex)
                              throws SQLException

Specified by:
  `getCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### getCharacterStream

    public Reader getCharacterStream(String parameterName)
                              throws SQLException

Specified by:
  `getCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType,
                                     String typeName)
                              throws SQLException

Registers the designated output parameter. This version of the method `registerOutParameter` should be used for a user-defined or `REF` output parameter. Examples of user-defined types include: `STRUCT`, `DISTINCT`, `JAVA_OBJECT`, and named array types.

All OUT parameters must be registered before a stored procedure is executed.

For a user-defined parameter, the fully-qualified SQL type name of the parameter should also be given, while a `REF` parameter requires that the fully-qualified type name of the referenced type be given. A JDBC driver that does not need the type code and type name information may ignore it. To be portable, however, applications should always provide these values for user-defined and `REF` parameters.

Although it is intended for user-defined and `REF` parameters, this method may be used to register a parameter of any JDBC type. If the parameter does not have a user-defined or `REF` type, the typeName parameter is ignored.

Note: When reading the value of an out parameter, you must use the getter method whose Java type corresponds to the parameter's registered SQL type.

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2,...
  `sqlType` - a value from `Types`
  `typeName` - the fully-qualified name of an SQL structured type
Throws:
  `SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `SQLFeatureNotSupportedException` - if `sqlType` is a `ARRAY`, `BLOB`, `CLOB`, `DATALINK`, `JAVA_OBJECT`, `NCHAR`, `NCLOB`, `NVARCHAR`, `LONGNVARCHAR`, `REF`, `ROWID`, `SQLXML` or `STRUCT` data type and the JDBC driver does not support this data type
See Also:
  `Types`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(int parameterIndex,
                                     int sqlType,
                                     int scale)
                              throws SQLException

Registers the parameter in ordinal position `parameterIndex` to be of JDBC type `sqlType`. All OUT parameters must be registered before a stored procedure is executed.

The JDBC type specified by `sqlType` for an OUT parameter determines the Java type that must be used in the `get` method to read the value of that parameter.

This version of `registerOutParameter` should be used when the parameter is of JDBC type `NUMERIC` or `DECIMAL`.

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Parameters:
  `parameterIndex` - the first parameter is 1, the second is 2, and so on
  `sqlType` - the SQL type code defined by `java.sql.Types`.
  `scale` - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
Throws:
  `SQLException` - if the parameterIndex is not valid; if a database access error occurs or this method is called on a closed `CallableStatement`
  `SQLFeatureNotSupportedException` - if `sqlType` is a `ARRAY`, `BLOB`, `CLOB`, `DATALINK`, `JAVA_OBJECT`, `NCHAR`, `NCLOB`, `NVARCHAR`, `LONGNVARCHAR`, `REF`, `ROWID`, `SQLXML` or `STRUCT` data type and the JDBC driver does not support this data type
See Also:
  `Types`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType,
                                     int scale)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### registerOutParameter

    public void registerOutParameter(String parameterName,
                                     int sqlType,
                                     String typeName)
                              throws SQLException

Specified by:
  `registerOutParameter` in interface `CallableStatement`
Throws:
  `SQLException`

#### setSQLXML

    public void setSQLXML(String parameterName,
                          SQLXML xmlObject)
                   throws SQLException

Specified by:
  `setSQLXML` in interface `CallableStatement`
Throws:
  `SQLException`

#### setRowId

    public void setRowId(String parameterName,
                         RowId rowid)
                  throws SQLException

Specified by:
  `setRowId` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNString

    public void setNString(String parameterName,
                           String value)
                    throws SQLException

Specified by:
  `setNString` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(String parameterName,
                                    Reader reader,
                                    long length)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNCharacterStream

    public void setNCharacterStream(String parameterName,
                                    Reader reader)
                             throws SQLException

Specified by:
  `setNCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         NClob value)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         Reader reader,
                         long length)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNClob

    public void setNClob(String parameterName,
                         Reader reader)
                  throws SQLException

Specified by:
  `setNClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Reader reader,
                        long length)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Clob clob)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setClob

    public void setClob(String parameterName,
                        Reader reader)
                 throws SQLException

Specified by:
  `setClob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        InputStream inputStream,
                        long length)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        Blob blob)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBlob

    public void setBlob(String parameterName,
                        InputStream inputStream)
                 throws SQLException

Specified by:
  `setBlob` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream inputStream,
                               long length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream inputStream,
                               int length)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setAsciiStream

    public void setAsciiStream(String parameterName,
                               InputStream inputStream)
                        throws SQLException

Specified by:
  `setAsciiStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream inputStream,
                                long length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream inputStream)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBinaryStream

    public void setBinaryStream(String parameterName,
                                InputStream inputStream,
                                int length)
                         throws SQLException

Specified by:
  `setBinaryStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader,
                                   long length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setCharacterStream

    public void setCharacterStream(String parameterName,
                                   Reader reader,
                                   int length)
                            throws SQLException

Specified by:
  `setCharacterStream` in interface `CallableStatement`
Throws:
  `SQLException`

#### setURL

    public void setURL(String parameterName,
                       URL url)
                throws SQLException

Specified by:
  `setURL` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
                        int sqlType)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### setNull

    public void setNull(String parameterName,
                        int sqlType,
                        String typeName)
                 throws SQLException

Specified by:
  `setNull` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBoolean

    public void setBoolean(String parameterName,
                           boolean booleanValue)
                    throws SQLException

Specified by:
  `setBoolean` in interface `CallableStatement`
Throws:
  `SQLException`

#### setByte

    public void setByte(String parameterName,
                        byte byteValue)
                 throws SQLException

Specified by:
  `setByte` in interface `CallableStatement`
Throws:
  `SQLException`

#### setShort

    public void setShort(String parameterName,
                         short shortValue)
                  throws SQLException

Specified by:
  `setShort` in interface `CallableStatement`
Throws:
  `SQLException`

#### setInt

    public void setInt(String parameterName,
                       int intValue)
                throws SQLException

Specified by:
  `setInt` in interface `CallableStatement`
Throws:
  `SQLException`

#### setLong

    public void setLong(String parameterName,
                        long longValue)
                 throws SQLException

Specified by:
  `setLong` in interface `CallableStatement`
Throws:
  `SQLException`

#### setFloat

    public void setFloat(String parameterName,
                         float floatValue)
                  throws SQLException

Specified by:
  `setFloat` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDouble

    public void setDouble(String parameterName,
                          double doubleValue)
                   throws SQLException

Specified by:
  `setDouble` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBigDecimal

    public void setBigDecimal(String parameterName,
                              BigDecimal bigDecimal)
                       throws SQLException

Specified by:
  `setBigDecimal` in interface `CallableStatement`
Throws:
  `SQLException`

#### setString

    public void setString(String parameterName,
                          String stringValue)
                   throws SQLException

Specified by:
  `setString` in interface `CallableStatement`
Throws:
  `SQLException`

#### setBytes

    public void setBytes(String parameterName,
                         byte[] bytes)
                  throws SQLException

Specified by:
  `setBytes` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
                        Date date)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setDate

    public void setDate(String parameterName,
                        Date date,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setDate` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
                        Time time)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTime

    public void setTime(String parameterName,
                        Time time,
                        Calendar cal)
                 throws SQLException

Specified by:
  `setTime` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                             Timestamp timestamp)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setTimestamp

    public void setTimestamp(String parameterName,
                             Timestamp timestamp,
                             Calendar cal)
                      throws SQLException

Specified by:
  `setTimestamp` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj,
                          int targetSqlType,
                          int scale)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj,
                          int targetSqlType)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`

#### setObject

    public void setObject(String parameterName,
                          Object obj)
                   throws SQLException

Specified by:
  `setObject` in interface `CallableStatement`
Throws:
  `SQLException`