-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