1

db2batch をストアード・プロシージャー呼び出しおよびパラメーター・ファイルで使用する方法の例を見つけようとしています。

何度も呼び出してファイルからパラメーターを提供したいストアド プロシージャがありますが、これがどのように行われるかを示すドキュメントを見つけるのに苦労しています。

4

1 に答える 1

1

パラメーター ファイルの使用に関するドキュメントは確かにあまり良くありません。ただし、実際には、を使用してストアド プロシージャ**を呼び出すことができます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 組のパラメーターがありますが、--#BGBLKID で繰り返し回数が 5 回だけ指定されているため、db2batch はパラメーター ファイルの最初の 5 行のみを読み取ります。パラメータ ファイルの行数よりも大きい繰り返し回数を指定すると、パラメータ ファイルに対応する値がない繰り返しに対してエラーが発生します。

**注:パラメータdb2batchを持つプロシージャで動作しIN、結果セットを返すストアド プロシージャも処理しますが、OUTパラメータを持つストアド プロシージャで動作させる方法を知りません。

于 2013-11-17T14:17:08.703 に答える