public interface CallableStatement
用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。
{?= call <procedure-name>[(<arg1>,<arg2>, ...)]} {call <procedure-name>[(<arg1>,<arg2>, ...)]}
IN 参数值是使用继承自 PreparedStatement
的 set
方法设置的。在执行存储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提供的 get
方法获取的。
CallableStatement
可以返回一个 ResultSet
对象或多个 ResultSet
对象。多个 ResultSet
对象是使用继承自 Statement
的操作处理的。
为了获得最大的可移植性,某一调用的 ResultSet
对象和更新计数应该在获得输出参数的值之前处理。
字段摘要 |
---|
从接口 java.sql.Statement 继承的字段 |
---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
方法摘要 | |
---|---|
Array |
getArray(int parameterIndex) 以 Java 编程语言中 Array 对象的形式获取指定的 JDBC ARRAY 参数的值。 |
Array |
getArray(String parameterName) 以 Java 编程语言中 java.sql.ARRAY 对象的形式获取 JDBC ARRAY 参数的值。 |
BigDecimal |
getBigDecimal(int parameterIndex) 以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。 |
BigDecimal |
getBigDecimal(int parameterIndex, int scale) 已过时。 使用 getBigDecimal(int parameterIndex) 或 getBigDecimal(String parameterName) |
BigDecimal |
getBigDecimal(String parameterName) 以 java.math.BigDecimal 对象的形式获取 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。 |
Blob |
getBlob(int parameterIndex) 以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。 |
Blob |
getBlob(String parameterName) 以 Java 编程语言中 Blob 对象的形式获取 JDBC BLOB 参数的值。 |
boolean |
getBoolean(int parameterIndex) 以 Java 编程语言中 boolean 值的形式获取指定的 JDBC BIT 或 BOOLEAN 参数的值。 |
boolean |
getBoolean(String parameterName) 以 Java 编程语言中 boolean 值的形式获取 JDBC BIT 或 BOOLEAN 参数的值。 |
byte |
getByte(int parameterIndex) 以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。 |
byte |
getByte(String parameterName) 以 Java 编程语言中 byte 值的形式获取 JDBC TINYINT 参数的值。 |
byte[] |
getBytes(int parameterIndex) 以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARY 或 VARBINARY 参数的值。 |
byte[] |
getBytes(String parameterName) 以 Java 编程语言中 byte 数组值的形式获取 JDBC BINARY 或 VARBINARY 参数的值。 |
Reader |
getCharacterStream(int parameterIndex) 以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Reader |
getCharacterStream(String parameterName) 以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Clob |
getClob(int parameterIndex) 以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。 |
Clob |
getClob(String parameterName) 以 Java 编程语言中 java.sql.CLOB 对象的形式获取 JDBC CLOB 参数的值。 |
Date |
getDate(int parameterIndex) 以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值。 |
Date |
getDate(int parameterIndex, Calendar cal) 以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
Date |
getDate(String parameterName) 以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值。 |
Date |
getDate(String parameterName, Calendar cal) 以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
double |
getDouble(int parameterIndex) 以 Java 编程语言中 double 值的形式获取指定的 JDBC DOUBLE 参数的值。 |
double |
getDouble(String parameterName) 以 Java 编程语言中 double 值的形式获取 JDBC DOUBLE 参数的值。 |
float |
getFloat(int parameterIndex) 以 Java 编程语言中 float 值的形式获取指定的 JDBC FLOAT 参数的值。 |
float |
getFloat(String parameterName) 以 Java 编程语言中 float 值的形式获取 JDBC FLOAT 参数的值。 |
int |
getInt(int parameterIndex) 以 Java 编程语言中 int 值的形式获取指定的 JDBC INTEGER 参数的值。 |
int |
getInt(String parameterName) 以 Java 编程语言中 int 值的形式获取 JDBC INTEGER 参数的值。 |
long |
getLong(int parameterIndex) 以 Java 编程语言中 long 值的形式获取指定的 JDBC BIGINT 参数的值。 |
long |
getLong(String parameterName) 以 Java 编程语言中 long 值的形式获取 JDBC BIGINT 参数的值。 |
Reader |
getNCharacterStream(int parameterIndex) 以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Reader |
getNCharacterStream(String parameterName) 以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
NClob |
getNClob(int parameterIndex) 以 Java 编程语言中 java.sql.NClob 对象的形式获取指定的 JDBC NCLOB 参数的值。 |
NClob |
getNClob(String parameterName) 以 Java 编程语言中 java.sql.NClob 对象的形式获取 JDBC NCLOB 参数的值。 |
String |
getNString(int parameterIndex) 以 Java 编程语言中 String 的形式获取指定的 NCHAR 、NVARCHAR 或 LONGNVARCHAR 参数的值。 |
String |
getNString(String parameterName) 以 Java 编程语言中 String 的形式获取指定的 NCHAR 、NVARCHAR 或 LONGNVARCHAR 参数的值。 |
Object |
getObject(int parameterIndex) 以 Java 编程语言中 Object 的形式获取指定参数的值。 |
Object |
getObject(int parameterIndex, Map<String,Class<?>> map) 返回一个表示 OUT 参数 parameterIndex 值的对象,并将 map 用于该参数值的自定义映射关系。 |
Object |
getObject(String parameterName) 以 Java 编程语言中 Object 的形式获取参数的值。 |
Object |
getObject(String parameterName, Map<String,Class<?>> map) 返回一个表示 OUT 参数 parameterName 值的对象,并将 map 用于该参数值的自定义映射关系。 |
Ref |
getRef(int parameterIndex) 以 Java 编程语言中 Ref 对象的形式获取指定的 JDBC REF(<structured-type>) 参数的值。 |
Ref |
getRef(String parameterName) 以 Java 编程语言中 Ref 对象的形式获取 JDBC REF(<structured-type>) 参数的值。 |
RowId |
getRowId(int parameterIndex) 以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。 |
RowId |
getRowId(String parameterName) 以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。 |
short |
getShort(int parameterIndex) 以 Java 编程语言中 short 值的形式获取指定的 JDBC SMALLINT 参数的值。 |
short |
getShort(String parameterName) 以 Java 编程语言中 short 值的形式获取 JDBC SMALLINT 参数的值。 |
SQLXML |
getSQLXML(int parameterIndex) 以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。 |
SQLXML |
getSQLXML(String parameterName) 以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。 |
String |
getString(int parameterIndex) 以 Java 编程语言中 String 的形式获取指定的 JDBC CHAR 、VARCHAR 或 LONGVARCHAR 参数的值。 |
String |
getString(String parameterName) 以 Java 编程语言中 String 的形式获取 JDBC CHAR 、VARCHAR 或 LONGVARCHAR 参数的值。 |
Time |
getTime(int parameterIndex) 以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值。 |
Time |
getTime(int parameterIndex, Calendar cal) 以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Time |
getTime(String parameterName) 以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值。 |
Time |
getTime(String parameterName, Calendar cal) 以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Timestamp |
getTimestamp(int parameterIndex) 以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(int parameterIndex, Calendar cal) 以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
Timestamp |
getTimestamp(String parameterName) 以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(String parameterName, Calendar cal) 以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
URL |
getURL(int parameterIndex) 以 java.sql.URL 对象的形式获取指定 JDBC DATALINK 参数的值。 |
URL |
getURL(String parameterName) 以 java.net.URL 对象的形式获取 JDBC DATALINK 参数的值。 |
void |
registerOutParameter(int parameterIndex, int sqlType) 按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(int parameterIndex, int sqlType, int scale) 按顺序位置 parameterIndex 将参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(int parameterIndex, int sqlType, String typeName) 注册指定的输出参数。 |
void |
registerOutParameter(String parameterName, int sqlType) 将名为 parameterName 的 OUT 参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(String parameterName, int sqlType, int scale) 将名为 parameterName 的参数注册为 JDBC 类型 sqlType 。 |
void |
registerOutParameter(String parameterName, int sqlType, String typeName) 注册指定的输出参数。 |
void |
setAsciiStream(String parameterName, InputStream x) 将指定参数设置为给定输入流。 |
void |
setAsciiStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setAsciiStream(String parameterName, InputStream x, long length) 将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBigDecimal(String parameterName, BigDecimal x) 将指定参数设置为给定 java.math.BigDecimal 值。 |
void |
setBinaryStream(String parameterName, InputStream x) 将指定参数设置为给定输入流。 |
void |
setBinaryStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBinaryStream(String parameterName, InputStream x, long length) 将指定参数设置为给定输入流,该输入流将拥有指定字节数。 |
void |
setBlob(String parameterName, Blob x) 将指定参数设置为给定的 java.sql.Blob 对象。 |
void |
setBlob(String parameterName, InputStream inputStream) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName, InputStream inputStream, long length) 将指定参数设置为 InputStream 对象。 |
void |
setBoolean(String parameterName, boolean x) 将指定参数设置为给定 Java boolean 值。 |
void |
setByte(String parameterName, byte x) 将指定参数设置为给定 Java byte 值。 |
void |
setBytes(String parameterName, byte[] x) 将指定参数设置为给定 Java byte 数组。 |
void |
setCharacterStream(String parameterName, Reader reader) 将指定参数设置为给定 Reader 对象。 |
void |
setCharacterStream(String parameterName, Reader reader, int length) 将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数。 |
void |
setCharacterStream(String parameterName, Reader reader, long length) 将指定参数设置为给定 Reader 对象,该对象具有给定字符数长度。 |
void |
setClob(String parameterName, Clob x) 将指定参数设置为给定的 java.sql.Clob 对象。 |
void |
setClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setDate(String parameterName, Date x) 使用运行应用程序的虚拟机默认时区将指定参数设置为给定 java.sql.Date 值。 |
void |
setDate(String parameterName, Date x, Calendar cal) 使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。 |
void |
setDouble(String parameterName, double x) 将指定参数设置为给定 Java double 值。 |
void |
setFloat(String parameterName, float x) 将指定参数设置为给定 Java float 值。 |
void |
setInt(String parameterName, int x) 将指定参数设置为给定 Java int 值。 |
void |
setLong(String parameterName, long x) 将指定参数设置为给定 Java long 值。 |
void |
setNCharacterStream(String parameterName, Reader value) 将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName, Reader value, long length) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, NClob value) 将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setNString(String parameterName, String value) 将指定参数设置为给定 String 对象。 |
void |
setNull(String parameterName, int sqlType) 将指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName, int sqlType, String typeName) 将指定参数设置为 SQL NULL 。 |
void |
setObject(String parameterName, Object x) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType, int scale) &n |