PL/SQLでのWHILE文サンプルです。
構文
- (WHILE構文)
- WHILE <条件> LOOP --繰り返し処理 END LOOP;
サンプルソース
例)cnt<10が成立しなくなるまで処理を繰り返す
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
CREATE OR REPLACE PROCEDURE P_SAMPLE( o_num OUT NUMBER ,o_sqlcode OUT NUMBER ,o_sqlerrm OUT VARCHAR2 )IS ret NUMBER; cnt NUMBER; BEGIN cnt := 0; ret := 0; -- cnt<10が成立しなくなるまでループ処理 WHILE cnt < 10 LOOP ret := ret + 1; cnt := cnt + 1; END LOOP; o_num := ret; EXCEPTION WHEN OTHERS THEN o_sqlcode := SQLCODE; o_sqlerrm := SQLERRM; END P_SAMPLE; / |
- 結果
- o_num → 10
メモ
- WHILEの条件がfalseとならないコーディングをすると無限ループとなるため注意。
- 処理中に抜ける条件を書きたい場合は、「EXIT WHEN <条件>;」で抜けることができます。