Oracle PL/SQL FOR迴圈

PL/SQL FOR迴,重複執行任務

前言

PL/SQL如同其他程式語言一樣亦提供FOR迴圈,協助開發者進行流程控制,不過使用上得注意以下兩點。

  • 不可修改於FOR迴圈內宣告的INDEX值。
  • FOR迴圈內宣告的條件必須是小至大,如需進行反轉則需使用REVERSE關鍵字。

實作

FOR 使用語法如下

1
2
3
4
5
[<<LABEL_NAME>>]
FOR INDEX 變數 IN [REVERSE] 起始值 .. 最終值 LOOP
    .....
    ......
END LOOP [LABEL_NAME];

以下進行相關示範

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
SET FEEDBACK OFF;
SET SERVEROUTPUT ON;
BEGIN
    DBMS_OUTPUT.PUT_LINE('FOR 迴圈開始');
    FOR  I IN REVERSE 1 .. 10 LOOP
         -- 只顯示基數
         CONTINUE WHEN MOD(I, 2) = 0;
        -- 輸出結果
        DBMS_OUTPUT.PUT( '[' || I || '] ');
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('');
    DBMS_OUTPUT.PUT_LINE('FOR 迴圈結束');
END;

執行結果

1
2
3
FOR 迴圈開始
[9] [7] [5] [3] [1] 
FOR 迴圈結束