JDBCからコールするJavaストアド・プロシージャは、CallableStatement
オブジェクトにカプセル化されている必要があります。
JDBCを使用してJavaストアド・プロシージャをコールするには、次のようにします。
private CallableStatement checkIn;
ストアド・プロシージャのSQLの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, 2006, Oracle. All rights reserved.