java.sql

接口
异常
所有超级接口:
PreparedStatement, Statement, Wrapper

public interface CallableStatement
     
extends PreparedStatement

用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。

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

IN 参数值是使用继承自 PreparedStatementset 方法设置的。在执行存储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提供的 get 方法获取的。

CallableStatement 可以返回一个 ResultSet 对象或多个 ResultSet 对象。多个 ResultSet 对象是使用继承自 Statement 的操作处理的。

为了获得最大的可移植性,某一调用的 ResultSet 对象和更新计数应该在获得输出参数的值之前处理。

另请参见:
Connection.prepareCall(java.lang.String), 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 BITBOOLEAN 参数的值。
 boolean getBoolean(String parameterName)
          以 Java 编程语言中 boolean 值的形式获取 JDBC BITBOOLEAN 参数的值。
 byte getByte(int parameterIndex)
          以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。
 byte getByte(String parameterName)
          以 Java 编程语言中 byte 值的形式获取 JDBC TINYINT 参数的值。
 byte[] getBytes(int parameterIndex)
          以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARYVARBINARY 参数的值。
 byte[] getBytes(String parameterName)
          以 Java 编程语言中 byte 数组值的形式获取 JDBC BINARYVARBINARY 参数的值。
 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 的形式获取指定的 NCHARNVARCHARLONGNVARCHAR 参数的值。
 String getNString(String parameterName)
          以 Java 编程语言中 String 的形式获取指定的 NCHARNVARCHARLONGNVARCHAR 参数的值。
 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 CHARVARCHARLONGVARCHAR 参数的值。
 String getString(String parameterName)
          以 Java 编程语言中 String 的形式获取 JDBC CHARVARCHARLONGVARCHAR 参数的值。
 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

JDK 1.6 中文手册