CallableStatement

public interface CallableStatement implements PreparedStatement

The interface used to execute SQL stored procedures. The JDBC API provides a stored procedure SQL escape syntax that allows stored procedures to be called in a standard way for all RDBMSs. This escape syntax has one form that includes a result parameter and one that does not. If used, the result parameter must be registered as an OUT parameter. The other parameters can be used for input, output or both. Parameters are referred to sequentially, by number, with the first parameter being 1.

   {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
   {call <procedure-name>[(<arg1>,<arg2>, ...)]}
 

IN parameter values are set using the set methods inherited from PreparedStatement. The type of all OUT parameters must be registered prior to executing the stored procedure; their values are retrieved after execution via the get methods provided here.

A CallableStatement can return one ResultSet object or multiple ResultSet objects. Multiple ResultSet objects are handled using operations inherited from Statement.

For maximum portability, a call's ResultSet objects and update counts should be processed prior to getting the values of output parameters.

Inherited Constant Summary

Public Method Summary

abstract Array
getArray(int parameterIndex)
Retrieves the value of the designated JDBC ARRAY parameter as an Array object in the Java programming language.
abstract Array
getArray(String parameterName)
Retrieves the value of a JDBC ARRAY parameter as an Array object in the Java programming language.
abstract BigDecimal
getBigDecimal(String parameterName)
Retrieves the value of a JDBC NUMERIC parameter as a java.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.
abstract BigDecimal
getBigDecimal(int parameterIndex, int scale)
This method is deprecated. use getBigDecimal(int parameterIndex) or getBigDecimal(String parameterName)
abstract BigDecimal
getBigDecimal(int parameterIndex)
Retrieves the value of the designated JDBC NUMERIC parameter as a java.math.BigDecimal object with as many digits to the right of the decimal point as the value contains.
abstract Blob
getBlob(int parameterIndex)
Retrieves the value of the designated JDBC BLOB parameter as a Blob object in the Java programming language.
abstract Blob
getBlob(String parameterName)
Retrieves the value of a JDBC BLOB parameter as a Blob object in the Java programming language.
abstract boolean
getBoolean(String parameterName)
Retrieves the value of a JDBC BIT or BOOLEAN parameter as a boolean in the Java programming language.
abstract boolean
getBoolean(int parameterIndex)
Retrieves the value of the designated JDBC BIT or BOOLEAN parameter as a boolean in the Java programming language.
abstract byte
getByte(String parameterName)
Retrieves the value of a JDBC TINYINT parameter as a byte in the Java programming language.
abstract byte
getByte(int parameterIndex)
Retrieves the value of the designated JDBC TINYINT parameter as a byte in the Java programming language.
abstract byte[]
getBytes(String parameterName)
Retrieves the value of a JDBC BINARY or VARBINARY parameter as an array of byte values in the Java programming language.
abstract byte[]
getBytes(int parameterIndex)
Retrieves the value of the designated JDBC BINARY or VARBINARY parameter as an array of byte values in the Java programming language.
abstract Reader
getCharacterStream(int parameterIndex)
Retrieves the value of the designated parameter as a java.io.Reader object in the Java programming language.
abstract Reader
getCharacterStream(String parameterName)
Retrieves the value of the designated parameter as a java.io.Reader object in the Java programming language.
abstract Clob
getClob(int parameterIndex)
Retrieves the value of the designated JDBC CLOB parameter as a java.sql.Clob object in the Java programming language.
abstract Clob
getClob(String parameterName)
Retrieves the value of a JDBC CLOB parameter as a java.sql.Clob object in the Java programming language.
abstract Date
getDate(int parameterIndex)
Retrieves the value of the designated JDBC DATE parameter as a java.sql.Date object.
abstract Date
getDate(String parameterName)
Retrieves the value of a JDBC DATE parameter as a java.sql.Date object.
abstract Date
getDate(String parameterName, Calendar cal)
Retrieves the value of a JDBC DATE parameter as a java.sql.Date object, using the given Calendar object to construct the date.
abstract Date
getDate(int parameterIndex, Calendar cal)
Retrieves the value of the designated JDBC DATE parameter as a java.sql.Date object, using the given Calendar object to construct the date.
abstract double
getDouble(int parameterIndex)
Retrieves the value of the designated JDBC DOUBLE parameter as a double in the Java programming language.
abstract double
getDouble(String parameterName)
Retrieves the value of a JDBC DOUBLE parameter as a double in the Java programming language.
abstract float
getFloat(String parameterName)
Retrieves the value of a JDBC FLOAT parameter as a float in the Java programming language.
abstract float
getFloat(int parameterIndex)
Retrieves the value of the designated JDBC FLOAT parameter as a float in the Java programming language.
abstract int
getInt(int parameterIndex)
Retrieves the value of the designated JDBC INTEGER parameter as an int in the Java programming language.
abstract int
getInt(String parameterName)
Retrieves the value of a JDBC INTEGER parameter as an int in the Java programming language.
abstract long
getLong(String parameterName)
Retrieves the value of a JDBC BIGINT parameter as a long in the Java programming language.
abstract long
getLong(int parameterIndex)
Retrieves the value of the designated JDBC BIGINT parameter as a long in the Java programming language.
abstract Reader
getNCharacterStream(int parameterIndex)
Retrieves the value of the designated parameter as a java.io.Reader object in the Java programming language.
abstract Reader
getNCharacterStream(String parameterName)
Retrieves the value of the designated parameter as a java.io.Reader object in the Java programming language.
abstract NClob
getNClob(String parameterName)
Retrieves the value of a JDBC NCLOB parameter as a java.sql.NClob object in the Java programming language.
abstract NClob
getNClob(int parameterIndex)
Retrieves the value of the designated JDBC NCLOB parameter as a java.sql.NClob object in the Java programming language.
abstract String
getNString(String parameterName)
Retrieves the value of the designated NCHAR, NVARCHAR or LONGNVARCHAR parameter as a String in the Java programming language.
abstract String
getNString(int parameterIndex)
Retrieves the value of the designated NCHAR, NVARCHAR or LONGNVARCHAR parameter as a String in the Java programming language.
abstract Object
getObject(int parameterIndex)
Retrieves the value of the designated parameter as an Object in the Java programming language.
abstract Object
getObject(String parameterName)
Retrieves the value of a parameter as an Object in the Java programming language.
abstract Object
getObject(int parameterIndex, Map<StringClass<?>> map)
Returns an object representing the value of OUT parameter parameterIndex and uses map for the custom mapping of the parameter value.
abstract Object
getObject(String parameterName, Map<StringClass<?>> map)
Returns an object representing the value of OUT parameter parameterName and uses map for the custom mapping of the parameter value.
abstract Ref
getRef(int parameterIndex)
Retrieves the value of the designated JDBC REF(<structured-type>) parameter as a Ref object in the Java programming language.
abstract Ref
getRef(String parameterName)
Retrieves the value of a JDBC REF(<structured-type>) parameter as a Ref object in the Java programming language.
abstract RowId
getRowId(int parameterIndex)
Retrieves the value of the designated JDBC ROWID parameter as a java.sql.RowId object.
abstract RowId
getRowId(String parameterName)
Retrieves the value of the designated JDBC ROWID parameter as a java.sql.RowId object.
abstract SQLXML
getSQLXML(String parameterName)
Retrieves the value of the designated SQL XML parameter as a java.sql.SQLXML object in the Java programming language.
abstract SQLXML
getSQLXML(int parameterIndex)
Retrieves the value of the designated SQL XML parameter as a java.sql.SQLXML object in the Java programming language.
abstract short
getShort(String parameterName)
Retrieves the value of a JDBC SMALLINT parameter as a short in the Java programming language.
abstract short
getShort(int parameterIndex)
Retrieves the value of the designated JDBC SMALLINT parameter as a short in the Java programming language.
abstract String
getString(int parameterIndex)
Retrieves the value of the designated JDBC CHAR, VARCHAR, or LONGVARCHAR parameter as a String in the Java programming language.
abstract String
getString(String parameterName)
Retrieves the value of a JDBC CHAR, VARCHAR, or LONGVARCHAR parameter as a String in the Java programming language.
abstract Time
getTime(String parameterName)
Retrieves the value of a JDBC TIME parameter as a java.sql.Time object.
abstract Time
getTime(String parameterName, Calendar cal)
Retrieves the value of a JDBC TIME parameter as a java.sql.Time object, using the given Calendar object to construct the time.
abstract Time
getTime(int parameterIndex)
Retrieves the value of the designated JDBC TIME parameter as a java.sql.Time object.
abstract Time
getTime(int parameterIndex, Calendar cal)
Retrieves the value of the designated JDBC TIME parameter as a java.sql.Time object, using the given Calendar object to construct the time.
abstract Timestamp
getTimestamp(int parameterIndex, Calendar cal)
Retrieves the value of the designated JDBC TIMESTAMP parameter as a java.sql.Timestamp object, using the given Calendar object to construct the Timestamp object.
abstract Timestamp
getTimestamp(int parameterIndex)
Retrieves the value of the designated JDBC TIMESTAMP parameter as a java.sql.Timestamp object.
abstract Timestamp
getTimestamp(String parameterName, Calendar cal)
Retrieves the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object, using the given Calendar object to construct the Timestamp object.
abstract Timestamp
getTimestamp(String parameterName)
Retrieves the value of a JDBC TIMESTAMP parameter as a java.sql.Timestamp object.
abstract URL
getURL(int parameterIndex)
Retrieves the value of the designated JDBC DATALINK parameter as a java.net.URL object.
abstract URL
getURL(String parameterName)
Retrieves the value of a JDBC DATALINK parameter as a java.net.URL object.
abstract void
registerOutParameter(int parameterIndex, int sqlType)
Registers the OUT parameter in ordinal position parameterIndex to the JDBC type sqlType.
abstract void
registerOutParameter(String parameterName, int sqlType, String typeName)
Registers the designated output parameter.
abstract void
registerOutParameter(int parameterIndex, int sqlType, String typeName)
Registers the designated output parameter.
abstract void
registerOutParameter(int parameterIndex, int sqlType, int scale)
Registers the parameter in ordinal position parameterIndex to be of JDBC type sqlType.
abstract void
registerOutParameter(String parameterName, int sqlType, int scale)
Registers the parameter named parameterName to be of JDBC type sqlType.
abstract void
registerOutParameter(String parameterName, int sqlType)
Registers the OUT parameter named parameterName to the JDBC type sqlType.
abstract void
setAsciiStream(String parameterName, InputStream x, int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes.
abstract void
setAsciiStream(String parameterName, InputStream x, long length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes.
abstract void
setAsciiStream(String parameterName, InputStream x)
Sets the designated parameter to the given input stream.
abstract void
setBigDecimal(String parameterName, BigDecimal x)
Sets the designated parameter to the given java.math.BigDecimal value.
abstract void
setBinaryStream(String parameterName, InputStream x)
Sets the designated parameter to the given input stream.
abstract void
setBinaryStream(String parameterName, InputStream x, long length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes.
abstract void
setBinaryStream(String parameterName, InputStream x, int length)
Sets the designated parameter to the given input stream, which will have the specified number of bytes.
abstract void
setBlob(String parameterName, Blob x)
Sets the designated parameter to the given java.sql.Blob object.
abstract void
setBlob(String parameterName, InputStream inputStream, long length)
Sets the designated parameter to a InputStream object.
abstract void
setBlob(String parameterName, InputStream inputStream)
Sets the designated parameter to a InputStream object.
abstract void
setBoolean(String parameterName, boolean x)
Sets the designated parameter to the given Java boolean value.
abstract void
setByte(String parameterName, byte x)
Sets the designated parameter to the given Java byte value.
abstract void
setBytes(String parameterName, byte[] x)
Sets the designated parameter to the given Java array of bytes.
abstract void
setCharacterStream(String parameterName, Reader reader, int length)
Sets the designated parameter to the given Reader object, which is the given number of characters long.
abstract void
setCharacterStream(String parameterName, Reader reader, long length)
Sets the designated parameter to the given Reader object, which is the given number of characters long.
abstract void
setCharacterStream(String parameterName, Reader reader)
Sets the designated parameter to the given Reader object.
abstract void
setClob(String parameterName, Clob x)
Sets the designated parameter to the given java.sql.Clob object.
abstract void
setClob(String parameterName, Reader reader, long length)
Sets the designated parameter to a Reader object.
abstract void
setClob(String parameterName, Reader reader)
Sets the designated parameter to a Reader object.
abstract void
setDate(String parameterName, Date x, Calendar cal)
Sets the designated parameter to the given java.sql.Date value, using the given Calendar object.
abstract void
setDate(String parameterName, Date x)
Sets the designated parameter to the given java.sql.Date value using the default time zone of the virtual machine that is running the application.
abstract void
setDouble(String parameterName, double x)
Sets the designated parameter to the given Java double value.
abstract void
setFloat(String parameterName, float x)
Sets the designated parameter to the given Java float value.
abstract void
setInt(String parameterName, int x)
Sets the designated parameter to the given Java int value.
abstract void
setLong(String parameterName, long x)
Sets the designated parameter to the given Java long value.
abstract void
setNCharacterStream(String parameterName, Reader value, long length)
Sets the designated parameter to a Reader object.
abstract void
setNCharacterStream(String parameterName, Reader value)
Sets the designated parameter to a Reader object.
abstract void
setNClob(String parameterName, Reader reader, long length)
Sets the designated parameter to a Reader object.
abstract void
setNClob(String parameterName, NClob value)
Sets the designated parameter to a java.sql.NClob object.
abstract void
setNClob(String parameterName, Reader reader)
Sets the designated parameter to a Reader object.
abstract void
setNString(String parameterName, String value)
Sets the designated parameter to the given String object.
abstract void
setNull(String parameterName, int sqlType)
Sets the designated parameter to SQL NULL.
abstract void
setNull(String parameterName, int sqlType, String typeName)
Sets the designated parameter to SQL NULL.
abstract void
setObject(String parameterName, Object x, int targetSqlType, int scale)
Sets the value of the designated parameter with the given object.
abstract void
setObject(String parameterName, Object x, int targetSqlType)
Sets the value of the designated parameter with the given object.
abstract void
setObject(String parameterName, Object x)
Sets the value of the designated parameter with the given object.
abstract void
setRowId(String parameterName, RowId x)
Sets the designated parameter to the given java.sql.RowId object.
abstract void
setSQLXML(String parameterName, SQLXML xmlObject)
Sets the designated parameter to the given java.sql.SQLXML object.
abstract void
setShort(String parameterName, short x)
Sets the designated parameter to the given Java short value.
abstract void
setString(String parameterName, String x)
Sets the designated parameter to the given Java String value.
abstract void
setTime(String parameterName, Time x, Calendar cal)
Sets the designated parameter to the given java.sql.Time value, using the given Calendar object.
abstract void
setTime(String parameterName, Time x)
Sets the designated parameter to the given java.sql.Time value.
abstract void
setTimestamp(String parameterName, Timestamp x, Calendar cal)
Sets the designated parameter to the given java.sql.Timestamp value, using the given Calendar object.
abstract void
setTimestamp(String parameterName, Timestamp x)
Sets the designated parameter to the given java.sql.Timestamp value.
abstract void
setURL(String parameterName, URL val)
Sets the designated parameter to the given java.net.URL object.
abstract boolean
wasNull()
Retrieves whether the last OUT parameter read had the value of SQL NULL.

Inherited Method Summary