スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

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

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

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

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

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

[図データ]

<この項の構成>
(1) INパラメタ
(2) OUTパラメタ又はINOUTパラメタ

(1) INパラメタ

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

例えば,CREATE PROCEDUREで,SQLのINTEGER型として定義したINパラメタは,Javaプログラムでは対応するint型又はjava.lang.Integer型で定義します(図9-10のparam1とjparam1)。

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

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

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