SQL カーソル名の参照

カーソル名には、宣言されたカーソルの名前およびカーソル変数の名前が含まれます。

SQL カーソル名を、同じルーチンで宣言されている別の SQL カーソル名と同じ名前にすることもできます。 このことは、2 つの SQL カーソルが別々のコンパウンド・ステートメントで宣言される場合に生じる可能性があります。

SQL カーソルの宣言を含むコンパウンド・ステートメントは、このカーソル名の有効範囲を決定します。 カーソル名は、それが宣言されるコンパウンド・ステートメント内で固有でなければなりません。ただし、そのようなコンパウンド・ステートメント内でネストされたコンパウンド・ステートメント内での宣言は除きます (SQLSTATE 42734)。 カーソル名は、それが宣言されたコンパウンド・ステートメント内でのみ参照が可能です。コンパウンド・ステートメント内でネストされたコンパウンド・ステートメントも同様です。 カーソル名の参照がある場合、最も内側のコンパウンド・ステートメントで宣言されたカーソルが使用されるカーソルです。 詳しくは、『コンパウンド SQL (インライン化)』を参照してください。

カーソル変数に割り当てられたカーソルのコンストラクターに、ローカルの SQL 変数への参照が含まれている場合、カーソル変数を使用する OPEN ステートメントは、ローカル SQL 変数が宣言された有効範囲内にある必要があります。