PL/SQL循環

可能有一種情況,當需要執行的代碼塊的幾個多次。在一般情況下,語句順序執行:一個函數的第一條語句,首先執行,然後是第二個...等等。

編程語言提供了各種控制結構,允許更多複雜的執行路徑。

循環語句可以讓我們執行語句多次或一個組,下面是在大多數編程語言循環語句的一般形式:

Loop

PL/ SQL提供了循環以下類型的處理循環的要求。點擊以下鏈接查看詳細信息。

循環類型

描述

PL/SQL基礎循環

在這個循環結構,語句序列封閉在LOOP和END LOOP語句之間。在每次迭代中,語句序列被執行,然後在循環的頂部恢復控制

PL/SQL WHILE循環

重複聲明語句或一組,而給定的條件爲真,它測試條件執行循環體前

PL/SQL FOR循環

執行語句序列多次和簡寫管理該循環變量的代碼

PL/SQL內嵌循環

可以使用一個或多個循環中的任何其它基本回路,同時或循環

標記一個PL/SQL循環

PL/ SQL循環可以被標記。標記應該用雙尖括號括起來(<<和>>),並出現在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支持以下控制語句。標記循環也採取了循環外的控制。點擊以下鏈接查看他們的詳細資料。

控制語句

描述

EXIT語句

在EXIT語句END LOOP後立即完成返回,控制進到該語句

CONTINUE語句

將導致循環跳過其主體的其餘部分,並立即重新測試其使用情況聲明之前

GOTO語句

控制權轉移給標籤的語句。雖然不建議在程序中使用GOTO語句