前言
於流程控制當中,迴圈的使用相當頻繁,可用來處理需要重複執行的相關邏輯,亦讓程式撰寫更有彈性。於PL/SQL當中提供基本三種基本類型的迴圈,分別為LOOP、WHILE與FOR迴圈,本篇先來記錄LOOP的使用方式。
LOOP迴圈基本上不像其他兩種迴圈一樣提供條件判斷功能,因此需要搭配如IF或是EXIT WHEN 來進行相關進行判斷,何時要將迴圈終止。於PL/SQL當中迴圈可使用CONTINUE或是EXIT進行迴圈控制,CONTINUE這個關鍵字與一般程式語言無異,可使流程跳回迴圈開始處;而EXIT則是將流程跳出迴圈。
實作
LOOP使用語法如下
1
2
3
4
| LOOP
.............
..............
END LOOP;
|
以下使用EXIT WHEN方式進行相關邏輯判斷,進行使用迴圈累加變數1至10,並只顯示基數的示範。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| DECLARE
V_COUNT INT := 0;
BEGIN
DBMS_OUTPUT.PUT_LINE('LOOP 迴圈開始');
LOOP
-- 累加 V_COUNT
V_COUNT := V_COUNT + 1;
-- 超過 10 則跳出迴圈
EXIT WHEN V_COUNT > 10;
-- 只顯示基數
CONTINUE WHEN MOD(V_COUNT, 2) = 0;
-- 輸出結果
DBMS_OUTPUT.PUT( '[' || V_COUNT || '] ');
END LOOP;
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE('LOOP 迴圈結束');
END;
|
執行結果
1
2
3
| LOOP 迴圈開始
[1] [3] [5] [7] [9]
LOOP 迴圈結束
|