You can access stored procedures on databases using the OracleCallableStatement
interface. This interface extends the OraclePreparedStatement
interface. The OracleCallableStatement
interface consists of standard JDBC escape syntax to call stored procedures. You may use this with or without a result parameter. However, if you do use a result parameter, it must be registered as an OUT
parameter. Other parameters that you use with this interface can be either IN
, OUT
, or both.
These parameters are set by using accessor methods inherited from the OraclePreparedStatement
interface. IN
parameters are set by using the set
XXX
methods and OUT
parameters are retrieved by using the get
XXX
methods, XXX
being the Java data type of the parameter.
A CallableStatement
can also return multiple ResultSet
objects.
As an example, you can create an OracleCallableStatement
to call the stored procedure called foo
, as follows:
You can pass the string bar
to this procedure in one of the following two ways:
cs.setString(1,"bar"); // JDBC standard // or... cs.setStringAtName(X, "value"); // Oracle extension
Example 6-2 Creating a CallableStatement
OracleCallableStatement cs = (OracleCallableStatement) conn.prepareCall("{call foo(?)}");