変更の始まり

-20439   AN ARRAY INDEX VALUE, value, IS NULL OR OUT OF RANGE, OR AN ARRAY ELEMENT WITH THAT INDEX VALUE DOES NOT EXIST.

説明

次の状況の 1 つが存在します。

  • ターゲットが配列エレメントである FETCH、SELECT INTO、VALUES INTO、または SET 割り当てステートメントで、 添字の値が NULL です。
  • 通常配列の配列エレメント指定で、添字の値が NULL または範囲外です。
  • 連想配列の配列エレメント指定で、添字の値が NULL または範囲外であるか、あるいは配列内に存在しません。
  • TRIM_ARRAY 関数の第 2 引数で、添字の値が NULL または範囲外です。
value
範囲外である配列添字値、または存在しない配列エレメントの添字値。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

添字値が使用されるコンテキストに応じて、適切な処置を行ってください。

  • ターゲットが配列エレメントで、添字値が NULL の FETCH、SELECT INTO、VALUES INTO、または SET 割り当てステートメントでは、 添字値に NULL 以外の値を指定します。
  • 通常配列の配列エレメント指定では、以下のようにします。
    • NULL 以外の添字値を指定します。
    • 1 以上で、配列のカーディナリティー以下の添字値を指定します。
  • 連想配列の配列エレメント指定では、以下のようにします。
    • NULL 以外の添字値を指定します。
    • 配列内に存在する配列エレメントの配列添字値を指定します。
    • 添字データ・タイプが INTEGER の場合、整数の範囲内の数値を指定します。
  • TRIM_ARRAY 関数の第 2 引数の場合は、1 以上で、配列のカーディナリティー以下の値を指定します。

SQLSTATE

2202E

変更の終わり