FETCH [[NEXT] FROM] cursor_name INTO var_name [, var_name] ...
このステートメントは、指定されたカーソル (これは開いている必要があります) に関連付けられた SELECT
ステートメントの次の行をフェッチし、そのカーソルのポインタを進めます。 行が存在する場合は、フェッチされたカラムが指定された変数に格納されます。 SELECT
ステートメントによって取得されるカラムの数が、FETCH
ステートメントで指定された出力変数の数に一致している必要があります。
それ以上の行を取得できない場合は、SQLSTATE 値 '02000'
で「データなし」状況が発生します。 この状況を検出するには、その状況 (または、NOT FOUND
状況) のハンドラを設定できます。 例については、セクション13.6.6「カーソル」を参照してください。
SELECT
や別の FETCH
などの別の操作でも、同じ条件を発生させることでハンドラが実行される場合があることに注意してください。 条件が発生した操作を区別する必要がある場合は、独自のハンドラに関連付けることができるように、操作を独自の BEGIN ... END
ブロック内に配置します。