PL/SQL 循環(huán)

2021-08-30 16:57 更新

在本章中,我們將討論和學(xué)習(xí)PL/SQL中的循環(huán)。當(dāng)需要執(zhí)行一段代碼多次時(shí)可能會(huì)出現(xiàn)以下這種情況:一般來說,語句依次執(zhí)行,首先執(zhí)行函數(shù)中的第一個(gè)語句,然后執(zhí)行第二個(gè)語句,依此類推。

編程語言提供了允許更復(fù)雜的執(zhí)行路徑的各種控制結(jié)構(gòu)。

循環(huán)語句允許多次執(zhí)行一個(gè)語句或一組語句,以下是大多數(shù)編程語言中循環(huán)語句的一般流程圖 -


PL/SQL提供以下類型的循環(huán)來處理循環(huán)需求??牲c(diǎn)擊以下鏈接查看每個(gè)循環(huán)類型如何使用。

編號(hào) 循環(huán)類型 描述
1 PL/SQL基本LOOP循環(huán) 在這個(gè)循環(huán)結(jié)構(gòu)中,語句序列包含在LOOPEND LOOP語句之間。在每次迭代時(shí),執(zhí)行語句序列,然后在循環(huán)頂部繼續(xù)控制。
2 PL/SQL while循環(huán) 當(dāng)給定條件為真時(shí),重復(fù)一個(gè)語句或一組語句。它在執(zhí)行循環(huán)體之前測(cè)試狀態(tài)。
3 PL/SQL for循環(huán) 多次執(zhí)行一系列語句,并縮寫管理循環(huán)變量的代碼。
4 PL/SQL嵌套循環(huán) 可在任何其他基本循環(huán)中使用一個(gè)或多個(gè)循環(huán),如:whilefor循環(huán)。

標(biāo)記PL/SQL循環(huán)

在PL/SQL中,可以標(biāo)記PL/SQL循環(huán)。標(biāo)簽使用雙尖括號(hào)(<<和>>)括起來,并顯示在LOOP語句的開頭。標(biāo)簽名稱也可以出現(xiàn)在LOOP語句的末尾。可以使用EXIT語句中的標(biāo)簽退出循環(huán)。

以下程序說明了這個(gè)概念 -

SET SERVEROUTPUT ON SIZE 1000000;
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

當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -


循環(huán)控制語句

循環(huán)控制語句從其正常順序更改執(zhí)行。當(dāng)執(zhí)行離開范圍時(shí),在該范圍內(nèi)創(chuàng)建的所有自動(dòng)對(duì)象都將被銷毀。

PL/SQL支持以下控制語句。標(biāo)簽循環(huán)也有助于控制環(huán)外的控制。點(diǎn)擊以下鏈接查看它們的詳細(xì)信息。

編號(hào) 控制語句 描述
1 EXIT語句 Exit語句完成循環(huán),控制在END LOOP之后立即傳遞給語句。
2 CONTINUE語句 導(dǎo)致循環(huán)跳過其主體的剩余部分,并在重申之前立即重新測(cè)試其狀態(tài)。
3 GOTO語句 轉(zhuǎn)移控制到標(biāo)記語句。雖然不建議在程序中使用GOTO語句。

 



以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)