CallableStatements�INOUT引数

Java�プログラム���INOUT引数�対��引数�型を�素��る�列�対応���。(メソッド��列を引数����ら��れ��り��ん。) ��対応関係�SQL標準�推奨�沿��も���。

次�例を考���。:
CallableStatement call = conn.prepareCall(
    "{CALL doubleMyInt(?)}");
// 値を代入�る��引数を登録�る事��
// inout引数��良�やり方��。
call.registerOutParameter(1, Types.INTEGER);
call.setInt(1,10);
call.execute();
int retval = call.getInt(1);
メソッドã?®doubleItã?¯ä¸€æ¬¡å…ƒã?®inté…?列をå?–ã‚‹ã?¹ã??ã?§ã?™ã€‚メソッドã?®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’次ã?«ä¾‹ç¤ºã?—ã?¾ã?™ã€‚
public static void doubleMyInt(int[] i) {
    i[0] *=2;
    /* Derby��列�最���素を返���。*/
}
注: メソッド�引数�����返り値��列���り��ん。
表 1. INOUT�引数型�対応
JDBC�型 メソッド�引数��列型 値�返り値�型
BIGINT long[] long
BINARY byte[][] byte[]
BIT boolean[] boolean
DATE java.sql.Date[] java.sql.Date
DOUBLE double[] double
FLOAT double[] double
INTEGER int[] int
LONGVARBINARY byte[][] byte[]
REAL float[] float
SMALLINT short[] short
TIME java.sql.Time[] java.sql.Time
TIMESTAMP java.sql.Timestamp[] java.sql.Timestamp
VARBINARY byte[][] byte[]
OTHER yourType[] yourType
JAVA_OBJECT (Java2/JDBC 2.0�環境���有効) yourType[] yourType

呼ã?³å‡ºã?—å‰?ã?«å‡ºåŠ›ã?®å¼•数を登録ã?—ã?¦ã??ã? ã?•ã?„。INOUTã?®å¼•æ•°ã?§ã?¯ã€?値を代入ã?™ã‚‹å‰?ã?«å‡ºåŠ›ã?®å¼•数を登録ã?™ã‚‹ã?®ã?Œè‰¯ã?„やり方ã?§ã?™ã€‚

関連資料
CallableStatements�OUT引数