PL/SQL循環
可能有一種情況,當需要執行的代碼塊的幾個多次。在一般情況下,語句順序執行:一個函數的第一條語句,首先執行,然後是第二個...等等。
編程語言提供了各種控製結構,允許更多複雜的執行路徑。
循環語句可以讓我們執行語句多次或一個組,下麵是在大多數編程語言循環語句的一般形式:
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語句 |