在PL/SQL編程語(yǔ)言中,EXIT語(yǔ)句有以下兩種用法:
當(dāng)循環(huán)中遇到EXIT語(yǔ)句循環(huán)立即終止,程序控制繼續(xù)下一個(gè)循環(huán)語(yǔ)句后面。
如果使用嵌套循環(huán)(即一個(gè)循環(huán)內(nèi)的另一個(gè)循環(huán)),EXIT指令將停止最內(nèi)層循環(huán)的執(zhí)行,并開始執(zhí)行的下一行代碼的程序段之后。
在PL/SQL EXIT語(yǔ)句的語(yǔ)法如下:
EXIT;
DECLARE a number(2) := 10; BEGIN -- while loop execution WHILE a < 20 LOOP dbms_output.put_line ('value of a: ' || a); a := a + 1; IF a > 15 THEN -- terminate the loop using the exit statement EXIT; END IF; END LOOP; END; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 PL/SQL procedure successfully completed.
在EXIT-WHEN語(yǔ)句允許的條件下,在WHEN子句進(jìn)行評(píng)估計(jì)算。如果條件為真,循環(huán)完成并控制立即傳遞到END LOOP語(yǔ)句。
以下是EXIT WHEN語(yǔ)句的兩個(gè)重要方面:
直到條件為true,EXIT-WHEN語(yǔ)句就像一個(gè)空語(yǔ)句,除了評(píng)估計(jì)算條件,并不會(huì)終止循環(huán)。
循環(huán)內(nèi)部的語(yǔ)句必須更改條件的值。
PL/ SQL EXIT WHEN語(yǔ)句的語(yǔ)法如下:
EXIT WHEN condition;
EXIT WHEN語(yǔ)句使用EXIT語(yǔ)句條件代替條件語(yǔ)句 if-then 退出一樣
DECLARE a number(2) := 10; BEGIN -- while loop execution WHILE a < 20 LOOP dbms_output.put_line ('value of a: ' || a); a := a + 1; -- terminate the loop using the exit when statement EXIT WHEN a > 15; END LOOP; END; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 PL/SQL procedure successfully completed.