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 <条件>;」で抜けることができます。