db2batch をストアード・プロシージャー呼び出しおよびパラメーター・ファイルで使用する方法の例を見つけようとしています。
何度も呼び出してファイルからパラメーターを提供したいストアド プロシージャがありますが、これがどのように行われるかを示すドキュメントを見つけるのに苦労しています。
db2batch をストアード・プロシージャー呼び出しおよびパラメーター・ファイルで使用する方法の例を見つけようとしています。
何度も呼び出してファイルからパラメーターを提供したいストアド プロシージャがありますが、これがどのように行われるかを示すドキュメントを見つけるのに苦労しています。
パラメーター ファイルの使用に関するドキュメントは確かにあまり良くありません。ただし、実際には、を使用してストアド プロシージャ**を呼び出すことができますdb2batch
。
コマンド ラインの例を次に示します。
db2batch -d yourdb -iso cs -f stmts.sql -m stmts.data
プロシージャを呼び出すSQL ファイル ( stmts.sql
) は次のようになります。
--#BGBLK 5
call my.storedproc(?, ?);
--#EOBLK
の後の数字は、ブロック内のステートメントを 5 回実行する ように--#BGBLK
指示します。db2batch
パラメータ ファイル ( stmts.data
) は次のようになります (この例は、ストアド プロシージャの最初の引数が でINT
、2 番目の引数が でVARCHAR(15)
、両方ともIN
パラメータであるストアド プロシージャの場合です)。
1 'First'
2 'Second'
3 'Third'
4 'Fourth'
5 'Fifth'
6 'Sixth'
7 'Seventh'
8 'Eighth'
9 'Ninth'
10 'Tenth'
このファイルには 10 組のパラメーターがありますが、--#BGBLK
ID で繰り返し回数が 5 回だけ指定されているため、db2batch はパラメーター ファイルの最初の 5 行のみを読み取ります。パラメータ ファイルの行数よりも大きい繰り返し回数を指定すると、パラメータ ファイルに対応する値がない繰り返しに対してエラーが発生します。
**注:パラメータdb2batch
を持つプロシージャで動作しIN
、結果セットを返すストアド プロシージャも処理しますが、OUT
パラメータを持つストアド プロシージャで動作させる方法を知りません。