位置:首頁 > 數據庫 > PL/SQL教學 > PL/SQL EXIT語句

PL/SQL EXIT語句

在PL/SQL編程語言中,EXIT語句有以下兩種用法:

  • 當循環中遇到EXIT語句循環立即終止,程序控製繼續下一個循環語句後麵。

  • 如果使用嵌套循環(即一個循環內的另一個循環),EXIT指令將停止最內層循環的執行,並開始執行的下一行代碼的程序段之後。

語法:

在PL/SQL EXIT語句的語法如下:

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;
/

當上述代碼在SQL提示符執行時,它產生了以下結果:

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 語句

在EXIT-WHEN語句允許的條件下,在WHEN子句進行評估計算。如果條件為真,循環完成並控製立即傳遞到END LOOP語句。

以下是EXIT WHEN語句的兩個重要方麵:

  • 直到條件為true,EXIT-WHEN語句就像一個空語句,除了評估計算條件,並不會終止循環。

  • 循環內部的語句必須更改條件的值。

示例:

PL/ SQL EXIT WHEN語句的語法如下:

EXIT WHEN condition;

EXIT WHEN語句使用EXIT語句條件代替條件語句 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;  
/

當上述代碼在SQL提示符執行時,它產生了以下結果:

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.