JDBCからコールするJavaストアド・プロシージャは、CallableStatement
オブジェクトにカプセル化されている必要があります。
JDBCを使用してJavaストアド・プロシージャをコールするには、次のようにします。
private CallableStatement checkIn;
CALL
文に接続するためのprepareCall
をコールして初期化します。たとえば、次のようになります。
checkIn = connection.prepareCall(quot;{call NPL.CHECKIN(?, ?, ?)}");
ストアド・プロシージャのパラメータ数は、SQLコールの数値プレースホルダで表されることに注意してください。
registerOutParameter
をコールします。たとえば、2番目のパラメータがSQL INTEGER
(Java int
にマップ)で、3番目のパラメータがSQL VARCHAR
(Java String
にマップ)の場合、次のようになります。
newCustomer.registerOutParameter(2, Types.INTEGER);
newCustomer.registerOutParameter(3, Types.VARCHAR);
set
メソッドをコールすることにより、コール可能文オブジェクトの入力パラメータを指定します。たとえば、最初のパラメータがint
の入力パラメータの場合、次のようになります。
checkIn.setInt(1, bookID);
checkIn.execute();
get
メソッドをコールします。getメソッドにより、対応するJava型の値が返されます。たとえば、次のようになります。
int daysLate = checkIn.getInt(2);
String title = checkIn.getString(3);
Copyright © 1997, 2004, Oracle. All rights reserved.