Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


9.4.4 パラメタ入出力モードのマッピング(Javaストアドプロシジャ限定)

Javaストアドプロシジャでの,SQLのパラメタ入出力モード(IN,OUT,又はINOUT)のマッピングについて説明します。なお,Javaストアドファンクションについては,パラメタ入出力モードの指定はありません。

マッピングについては,マニュアル「HiRDB SQLリファレンス」の型マッピングを参照してください。

パラメタ入出力モードのマッピング例を次の図に示します。

図9‒10 パラメタ入出力モードのマッピング例

[図データ]

〈この項の構成〉

(1) INパラメタ

SQLでINパラメタとして定義したパラメタの場合,Javaプログラムでは,対応するデータ型をそのまま使用します。

例えば,CREATE PROCEDUREで,SQLのINTEGER型として定義したINパラメタは,Javaプログラムでは対応するint型又はjava.lang.Integer型で定義します(図「パラメタ入出力モードのマッピング例」のparam1とjparam1)。

(2) OUTパラメタ又はINOUTパラメタ

SQLでOUTパラメタ又はINOUTパラメタとして定義したパラメタの場合,Javaプログラムでは,対応するデータ型の配列型として定義します。Java言語でのポインタ表現の手法が,「該当するデータ型の要素数1の配列としてパラメタを渡す」であるため,OUT又はINOUTパラメタはこのように実現されます。

例えば,CREATE PROCEDUREで,SQLのSMALLINT型として定義したOUTパラメタは,Javaプログラムでは対応するshort型又はjava.long.Short型の配列型で定義します(図「パラメタ入出力モードのマッピング例」のparam2とjparam2,param3とjparam3)。また,Javaメソッド内で,OUTパラメタ又はINOUTパラメタに値を返却する場合,配列の先頭に値を設定します(図「パラメタ入出力モードのマッピング例」のjparam2,jparam3)。