Plsql-exit-statement
提供:Dev Guides
PL/SQL-EXITステートメント
PL/SQLプログラミング言語の EXIT ステートメントには、次の2つの使用法があります-
- ループ内でEXITステートメントが検出されると、ループはすぐに終了し、プログラム制御はループの次のステートメントから再開します。
- ネストされたループ(つまり、あるループが別のループ内にある)を使用している場合、EXITステートメントは最も内側のループの実行を停止し、ブロックの後のコードの次の行の実行を開始します。
構文
PL/SQLのEXIT文の構文は次のとおりです-
EXIT;
流れ図
例
DECLARE
a number(2) := 10;
BEGIN
-- while loop execution
WHILE a < 20 LOOP
dbms_output.put_line ('value of a: ' || a);
a := a + 1;
IF a > 15 THEN
-- terminate the loop using the exit statement
EXIT;
END IF;
END LOOP;
END;
/
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
PL/SQL procedure successfully completed.
EXIT WHENステートメント
*EXIT-WHEN* ステートメントを使用すると、WHEN句の条件を評価できます。 条件が真の場合、ループが完了し、END LOOPの直後に制御がステートメントに渡されます。
以下は、EXIT WHENステートメントの2つの重要な側面です-
- 条件が真になるまで、EXIT-WHENステートメントは、条件の評価を除いてNULLステートメントのように機能し、ループを終了しません。 *ループ内のステートメントは、条件の値を変更する必要があります。
構文
PL/SQLのEXIT WHEN文の構文は次のとおりです-
EXIT WHEN condition;
EXIT WHENステートメントは、EXITステートメントで使用されるif-then* などの条件ステートメントを置き換えます。
例
DECLARE
a number(2) := 10;
BEGIN
-- while loop execution
WHILE a < 20 LOOP
dbms_output.put_line ('value of a: ' || a);
a := a + 1;
-- terminate the loop using the exit when statement
EXIT WHEN a > 15;
END LOOP;
END;
/
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
PL/SQL procedure successfully completed.