我們可能會遇到這樣的情況,比如要多次執行一個代碼塊。有時,這些語句是按順序執行的。這些編程語言為我們提供了各種控製結構,還允許更複雜的執行路徑。
循環語句允許我們多次執行一個語句或一組語句,也可以在大多數編程語言中以循環語句的一般形式執行。
有不同類型的循環語句,它們是:
- PL/SQL基本循環
這個循環語句在LOOP和END LOOP語句之間包含了一係列語句。在每次迭代中,執行所有語句,控製從循環的頂部開始。需要使用EXIT或EXIT WHEN語句來打破循環。
語法:
循環
語句序列;//可能指單個語句或語句塊。
結束循環;
示例:DECLARE x number:= 1;dbms_output.put_line(x);X:= X + 1;exit WHEN x > 10;結束循環;——退出後,控製恢複到dbms_output。put_line('After Exit condition x is: ' || x);結束;/ Output: 1 2 3 4 5 After Exit condition x is: 6
PL/SQL過程成功完成
- Pl / sql while循環
隻要給定條件為真,PL/SQL中的Loop語句在目標語句中重複執行。
語句序列例如:DECLARE一個數字(2):= 1;開始循環dbms_output。Put_line (' a是:' || a);A:= A + 1;結束循環;結束;/ output: a is: 1 a is: 2
PL/SQL過程成功完成。
- Pl / sql for循環
這個循環被稱為重複控製結構,它允許我們有效地編寫一個循環,也需要執行特定的次數。
語法:FOR counter IN初始值......最終卷LOOP語句序列END LOOP;示例:DECLARE x number(2);開始為x在5 ..10循環dbms_output。Put_line (' x是:' || x);結束循環;結束;/ Output: X is: 5 X is: 6 X is: 7 X is: 8 X is: 9 X is: 10
PL/SQL過程成功完成
Reverse FOR LOOP語句
默認情況下,所有迭代都從初始值到最終值,就像下限和上限一樣。我們可以使用reverse關鍵字來反轉這個順序。在這裏,迭代以另一種方式進行,例如在每次迭代之後,執行循環的計數器。
示例:DECLARE x number(2);開始為x反向5 ..10循環dbms_output。Put_line ('x是:' || x);結束循環;結束;/ Output: X is: 10 X is: 9 X is: 8 X is: 7 X is: 6 X is: 5
PL/SQL過程成功完成
PL/SQL中的嵌套循環
這允許我們在一個循環中使用另一個循環。下麵是演示嵌套循環的一些示例。
語句序列1 LOOP語句序列2結束循環;
嵌套for LOOP for counter1 IN initial_value1 ..在initial_value2中使用語句final_value2循環;結束循環;
示例:下麵的程序顯示嵌套的基本循環DECLARE一個數字(2);b (2);BEGIN a:= 2;循環b:= 2;當((mod(a, b) = 0) or (b = i));B:= B +1;結束循環;IF (b = a) THEN dbms_output。Put_line (|| ' is prime');如果;A:= A + 1; exit WHEN a = 10; END LOOP; END; / When we execute above program, we get following output: 2 is prime 3 is prime 5 is prime 7 is prime