
- 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 - FOR迴圈語句
FOR迴圈是一種重複控制結構,允許您高效地編寫需要執行特定次數的迴圈。
語法
FOR counter IN initial_value .. final_value LOOP sequence_of_statements; END LOOP;
以下是For迴圈中的控制流程:
初始化步驟首先執行,並且只執行一次。此步驟允許您宣告和初始化任何迴圈控制變數。
接下來,評估條件,即initial_value .. final_value。如果為TRUE,則執行迴圈體。如果為FALSE,則迴圈體不執行,控制流跳轉到for迴圈之後的下一條語句。
for迴圈體執行完畢後,計數器變數的值會增加或減少。
現在再次評估條件。如果為TRUE,則迴圈執行並重復該過程(迴圈體,然後增量步驟,然後再次條件)。條件變為FALSE後,FOR迴圈終止。
以下是PL/SQL for迴圈的一些特殊特性:
迴圈變數或計數器的initial_value和final_value可以是字面量、變數或表示式,但必須計算為數字。否則,PL/SQL會引發預定義異常VALUE_ERROR。
initial_value不必為1;但是,迴圈計數器增量(或減量)必須為1。
PL/SQL允許在執行時動態確定迴圈範圍。
示例
DECLARE a number(2); BEGIN FOR a in 10 .. 20 LOOP dbms_output.put_line('value of a: ' || a); END LOOP; END; /
當以上程式碼在SQL提示符下執行時,它會產生以下結果:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19 value of a: 20 PL/SQL procedure successfully completed.
反向FOR迴圈語句
預設情況下,迭代從初始值到最終值進行,通常是從下界向上到上界。您可以使用REVERSE關鍵字反轉此順序。在這種情況下,迭代將以相反的方式進行。每次迭代後,迴圈計數器都會遞減。
但是,您必須以升序(而不是降序)編寫範圍邊界。以下程式對此進行了說明:
DECLARE a number(2) ; BEGIN FOR a IN REVERSE 10 .. 20 LOOP dbms_output.put_line('value of a: ' || a); END LOOP; END; /
當以上程式碼在SQL提示符下執行時,它會產生以下結果:
value of a: 20 value of a: 19 value of a: 18 value of a: 17 value of a: 16 value of a: 15 value of a: 14 value of a: 13 value of a: 12 value of a: 11 value of a: 10 PL/SQL procedure successfully completed.
plsql_loops.htm
廣告