GOTO
文は、文ラベルまたはブロック・ラベルに無条件に分岐します。 ラベルは有効範囲の中で他と重複しないもので、実行可能文かPL/SQLブロックの前に置かれている必要があります。 GOTO
文によって、制御はラベルの付いた文またはブロックに移ります。
構文
label_declaration ::=
goto_statement ::=
キーワードとパラメータの説明
label_name
実行可能文またはPL/SQLブロックに付けるラベル名です。 GOTO
文を使用すると、<<label_name>>
の後に指定した文またはブロックに制御を移すことができます。
使用上の注意
GOTO
文のラベルは、実行可能文かPL/SQLブロックの前に付けてください。 GOTO
文はIF
文、LOOP
文またはサブブロックには分岐できません。 実行可能文のない場所へ分岐するには、NULL
文を追加します。
GOTO
文では、カレント・ブロックから同じブロックの別の場所、または囲みブロックには分岐できますが、例外ハンドラには分岐できません。 例外ハンドラのGOTO
文は、囲みブロックには分岐できますが、カレント・ブロックには分岐できません。
GOTO
文を使用してカーソルFOR
ループを途中で終了させると、カーソルは自動的にクローズされます。 ループの内側で例外が呼び出された場合も、カーソルは自動的にクローズされます。
ある1つのブロックの中では、1つのラベルは一度のみ使用できます。 ただし、囲みブロックやサブブロックなどの他のブロックでそのラベルを使用できます。 ターゲット・ラベルがカレント・ブロックにない場合、GOTO
文は囲みブロックのうちそのラベルが存在する最初のものに分岐します。