カーソルFOR
LOOP
文は、指定されたカーソルが戻す行の型のレコード変数として暗黙的にループ索引を宣言し、カーソルをオープンします。反復されるたびに、カーソルFOR
LOOP
文は、結果セットから行をフェッチしてレコードに入れます。フェッチする行がなくなると、カーソルFOR
LOOP
文によってカーソルがクローズされます。また、ループの内側の文によって制御がループの外側に移された場合や、例外が呼び出された場合も、カーソルがクローズされます。
ここでのトピック
「statement ::=」を参照してください。
セマンティクス
record
cursor
または
select_statement
が戻す型の%ROWTYPE
レコード変数としてカーソルFOR LOOP
文が暗黙的に宣言するループ索引の名前。
record
は、カーソルFOR
LOOP
文に対してローカルです。ループの内側の文は、record
とそのフィールドを参照できます。仮想列は別名でのみ参照できます。ループの外側の文は、record
を参照できません。カーソルFOR
LOOP
文の実行後、record
は未定義となります。
カーソル
カーソルFOR
LOOP
に入るときには、オープンされていない明示カーソルの名前。
actual_cursor_parameter
cursor
の仮パラメータに対応する実パラメータ。
select_statement
SQLのSELECT
文(PL/SQLのSELECT
INTO
文ではない)。select_statement
に対して、PL/SQLは暗黙カーソルを宣言し、オープンし、データをフェッチしてクローズします。ただし、select_statement
は独立した文ではないため、暗黙カーソルは内部的であり、SQL
という名前で参照することはできません。
関連項目: SELECT文の構文は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
label
cursor_for_loop_statement
を識別するラベル(「statement ::=」および「label」を参照)。CONTINUE
、EXIT
およびGOTO
文でこのラベルを参照できます。
LOOP
文がネストされている場合は特に、ラベルによって読みやすさが向上します。ただし、END
LOOP
文内のラベルが、同じLOOP
文の先頭のラベルと一致している場合のみです(コンパイラではチェックしません)。