PL/SQLでループを抜ける(中断する)には、EXITを使用します。
サンプル
以下2つのサンプルは同じ動きをします。
書き方1)cntが3以上になったらループを抜ける
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
DECLARE cnt NUMBER; BEGIN cnt := 0; LOOP --カウントアップ cnt := cnt + 1; --3以上になったらループを抜ける IF cnt >= 3 THEN EXIT; END IF; DBMS_OUTPUT.PUT_LINE('カウント:' || cnt); END LOOP; END; |
書き方2)cntが3以上になったらループを抜ける
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
DECLARE cnt NUMBER; BEGIN cnt := 0; LOOP --カウントアップ cnt := cnt + 1; --3以上になったらループを抜ける EXIT WHEN(cnt>=3); DBMS_OUTPUT.PUT_LINE('カウント:' || cnt); END LOOP; END; |
- 結果
- SQL> / カウント:1 カウント:2 PL/SQLプロシージャが正常に完了しました。
解説
- DBMS_OUTPUTでコンソールに文字列を出力するには、「set serveroutput on」コマンドを実行しておく必要があります。