WHILE¶
WHILE <expression> LOOP
<statements>
END LOOP;
WHILE ステートメントは、条件式が TRUE と評価される限り、一連のステートメントを繰り返します。条件は、ループ本体への各エントリの直前にチェックされます。
次の例には、前の例と同じロジックが含まれていますが、 WHILE ステートメントを使用して EXIT ステートメントの代わりにループを終了するタイミングを決定します。
注釈
ループをいつ終了するかを決定するために使用される条件式を変更する必要があります。 EXIT ステートメントは、条件式が真の場合にループを終了します。条件式が偽の場合、 WHILE ステートメントは終了します(またはループを開始しません)。
DECLARE
v_counter NUMBER(2);
BEGIN
v_counter := 1;
WHILE v_counter <= 10 LOOP
DBMS_OUTPUT.PUT_LINE('Iteration # ' || v_counter);
v_counter := v_counter + 1;
END LOOP;
END;
この例では、前の例と同じ結果が生成されます。
Iteration # 1
Iteration # 2
Iteration # 3
Iteration # 4
Iteration # 5
Iteration # 6
Iteration # 7
Iteration # 8
Iteration # 9
Iteration # 10