PL/SQL for ループは、一連の文をあらかじめ決められた回数だけ実行する場合に使用します。ループは開始整数値と終了整数値の間で繰り返されます。カウンタは常に 1 ずつ増加し、カウンタが終了整数の値に達すると、ループは終了します。
for ループの構文:
FOR counter IN initial_value .. final_value LOOP LOOP statements; END LOOP;
- Initial_value : 開始整数値
- Final_value : 終了整数値
PL/SQL For ループの例 1
PL/SQL FOR ループの簡単な例を見てみましょう。
BEGIN FOR k IN 1..10 LOOP -- note that k was not declared DBMS_OUTPUT.PUT_LINE(k); END LOOP; END;
上記のコードを実行すると、次の結果が得られます。
1 2 3 4 5 6 7 8 9 10
注意: PL/SQL WHILE ループを使用する場合は、次の手順に従う必要があります。
- カウンタ変数は宣言セクションで暗黙的に宣言されるため、明示的に宣言する必要はありません。
- カウンタ変数は 1 ずつ増加しますが、明示的に増加する必要はありません。
- EXIT WHEN ステートメントと EXIT ステートメントを FOR ループで使用できますが、頻繁には使用されません。
PL/SQL For ループの例 2
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
出力:
10 20 30 40 50 60 70 80 90 100
PL/SQL For ループ REVERSE の例 3
REVERSE キーワードを使用する PL/SQL for ループの例を見てみましょう。
DECLARE VAR1 NUMBER; BEGIN VAR1:=10; FOR VAR2 IN REVERSE 1..10 LOOP DBMS_OUTPUT.PUT_LINE (VAR1*VAR2); END LOOP; END;
出力:
100 90 80 70 60 50 40 30 20 10