-246 STATEMENT USING CURSOR cursor-name SPECIFIED NUMBER OF ROWS num-rows WHICH IS NOT VALID WITH dimension
説明
このコンテキストでは、複数行 FETCH、MERGE、または INSERT ステートメントは無効です。次のいずれかの理由により、ステートメントが無効です。
- 指定された行数が 0 以下であるか 32767 より大きい。
- 指定された行数が、ホスト変数配列のディメンションより大きい。
- ステートメントが分散環境で実行される、あるいはアクセラレーターで実行される複数行 FETCH ステートメントの場合、計算される応答データの最大サイズが Db2® の制限を超過している。 計算される応答データの最大サイズは、行数と、照会の単一行で返されるデータの最大サイズとの積になります。
- cursor-name
- SQL ステートメントが FETCH ステートメントである場合、この値は FETCH ステートメントに使用されるカーソルの名前です。 SQL ステートメントが FETCH ステートメントではない場合、この値はストリング *N です。 *N は、カーソル名が適用外であることを示します。
- num-rows
- 指定された行数。
- dimension
- ステートメントが分散環境で実行される複数行 FETCH ステートメントではなく、
アクセラレーターで実行される複数行 FETCH ステートメントでもない場合、この値は配列のディメンションになります。
ステートメントが分散環境で実行される複数行 FETCH ステートメントの場合、 またはアクセラレーターで実行される複数行 FETCH ステートメントの場合には、この値はストリング *N になります。 *N は、ディメンションが適用外であることを示します。
システムの処置
このステートメントを処理することはできません。カーソルの位置は変更されません。
プログラマーの応答
次のいずれかの処置をとってください。
- アプリケーションを変更して、指定の行数を格納できる大きさのホスト変数配列を宣言するか、または割り振ります。
- 指定の行数を 1 以上で 32767 以下の値に変更します。
- ステートメントが分散環境で実行される、あるいはアクセラレーターで実行される複数行 FETCH ステートメントの場合、 指定の行数を小さくしてください。
SQLSTATE
42873