鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ PL/SQL EXIT語(yǔ)句
PL/SQL記錄
PL/SQL基本語(yǔ)法
PL/SQL集合
PL/SQL包
PL/SQL關(guān)系運(yùn)算符
PL/SQL比較運(yùn)算符
PL/SQL條件控制
PL/SQL字符串
PL/SQL算術(shù)運(yùn)算符
PL/SQL變量
PL/SQL IF-THEN-ELSIF語(yǔ)句
PL/SQL函數(shù)
PL/SQL異常
PL/SQL FOR循環(huán)語(yǔ)句
PL/SQL日期及時(shí)間
PL/SQL EXIT語(yǔ)句
PL/SQL DBMS輸出
PL/SQL過(guò)程
PL/SQL CONTINUE語(yǔ)句
PL/SQL數(shù)組
PL/SQL嵌套IF-THEN-ELSE語(yǔ)句
PL/SQL事務(wù)
PL/SQL CASE語(yǔ)句
PL/SQL IF-THEN語(yǔ)句
PL/SQL GOTO語(yǔ)句
PL/SQL運(yùn)算符優(yōu)先級(jí)
PL/SQL觸發(fā)器
PL/SQL運(yùn)算符
PL/SQL教程
PL/SQL WHILE循環(huán)語(yǔ)句
PL/SQL面向?qū)ο?/span>
PL/SQL循環(huán)
PL/SQL邏輯運(yùn)算符
PL/SQL IF-THEN-ELSE語(yǔ)句
PL/SQL數(shù)據(jù)類型
PL/SQL環(huán)境安裝設(shè)置
PL/SQL游標(biāo)
PL/SQL基本循環(huán)語(yǔ)句
PL/SQL搜索CASE語(yǔ)句
PL/SQL常量和文字
PL/SQL嵌套循環(huán)

PL/SQL EXIT語(yǔ)句

在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í)行的下一行代碼的程序段之后。

語(yǔ)法:

在PL/SQL EXIT語(yǔ)句的語(yǔ)法如下:

EXIT;

流程圖:

PL/SQL exit statement

例如:

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ǔ)句

在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.