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 語句的兩個重要方面:

  • 在條件為真之前,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.   
plsql_loops.htm
廣告