
- PL/SQL 教程
- PL/SQL - 首頁
- PL/SQL - 概述
- PL/SQL - 環境
- PL/SQL - 基本語法
- PL/SQL - 資料型別
- PL/SQL - 變數
- PL/SQL - 常量和字面量
- PL/SQL - 運算子
- PL/SQL - 條件語句
- PL/SQL - 迴圈
- PL/SQL - 字串
- PL/SQL - 陣列
- PL/SQL - 過程
- PL/SQL - 函式
- PL/SQL - 遊標
- PL/SQL - 記錄
- PL/SQL - 異常處理
- PL/SQL - 觸發器
- PL/SQL - 包
- PL/SQL - 集合
- PL/SQL - 事務
- PL/SQL - 日期和時間
- PL/SQL - DBMS 輸出
- PL/SQL - 面向物件
- PL/SQL 有用資源
- PL/SQL - 問答
- PL/SQL - 快速指南
- PL/SQL - 有用資源
- PL/SQL - 討論
PL/SQL - 迴圈
本章將討論 PL/SQL 中的迴圈。您可能需要多次執行一段程式碼塊。通常情況下,語句是順序執行的:函式中的第一個語句首先執行,然後是第二個語句,依此類推。
程式語言提供各種控制結構,允許更復雜的執行路徑。
迴圈語句允許我們多次執行一個語句或一組語句,以下是大多數程式語言中迴圈語句的一般形式:

PL/SQL 提供以下型別的迴圈來處理迴圈需求。點選以下連結檢視詳細資訊。
序號 | 迴圈型別和描述 |
---|---|
1 | PL/SQL 基本 LOOP 迴圈
在此迴圈結構中,語句序列包含在 LOOP 和 END LOOP 語句之間。在每次迭代中,都會執行語句序列,然後控制返回到迴圈頂部。 |
2 | PL/SQL WHILE 迴圈
當給定條件為真時,重複執行一個語句或一組語句。它在執行迴圈體之前測試條件。 |
3 | PL/SQL FOR 迴圈
多次執行一系列語句,並縮寫管理迴圈變數的程式碼。 |
4 | PL/SQL 中的巢狀迴圈
您可以在任何其他基本迴圈、while 迴圈或 for 迴圈內使用一個或多個迴圈。 |
PL/SQL 迴圈的標註
PL/SQL 迴圈可以加標籤。標籤應括在雙尖括號(<< 和 >>)中,並出現在 LOOP 語句的開頭。標籤名稱也可以出現在 LOOP 語句的末尾。您可以在 EXIT 語句中使用標籤來退出迴圈。
以下程式說明了這個概念:
DECLARE i number(1); j number(1); BEGIN << outer_loop >> FOR i IN 1..3 LOOP << inner_loop >> FOR j IN 1..3 LOOP dbms_output.put_line('i is: '|| i || ' and j is: ' || j); END loop inner_loop; END loop outer_loop; END; /
當在 SQL 提示符下執行上述程式碼時,會產生以下結果:
i is: 1 and j is: 1 i is: 1 and j is: 2 i is: 1 and j is: 3 i is: 2 and j is: 1 i is: 2 and j is: 2 i is: 2 and j is: 3 i is: 3 and j is: 1 i is: 3 and j is: 2 i is: 3 and j is: 3 PL/SQL procedure successfully completed.
迴圈控制語句
迴圈控制語句改變執行的正常順序。當執行離開作用域時,在該作用域中建立的所有自動物件都將被銷燬。
PL/SQL 支援以下控制語句。迴圈標註也有助於控制跳出迴圈。點選以下連結檢視詳細資訊。
序號 | 控制語句和描述 |
---|---|
1 | EXIT 語句
Exit 語句完成迴圈,控制傳遞到 END LOOP 後面的語句。 |
2 | CONTINUE 語句
導致迴圈跳過其主體其餘部分,並在立即重新迭代之前立即重新測試其條件。 |
3 | GOTO 語句
將控制轉移到帶標籤的語句。雖然不建議在程式中使用 GOTO 語句。 |
廣告