PL/SQL exit語句

2019-10-16 22:54:02

PL/SQL程式設計語言中的EXIT語句有以下兩種用法 -

  • 當迴圈中遇到EXIT語句時,迴圈將立即終止,程式控制在迴圈之後的下一個語句處恢復。
  • 如果使用巢狀迴圈(即在另一個迴圈中有一個迴圈),則EXIT語句將停止執行最內迴圈,並在塊之後開始執行下一行程式碼。

語法

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

EXIT;

流程圖

範例

下面演示如何使用exit語句,參考以下範例程式碼 -

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

執行上面範例程式碼,得到以下結果 -

EXIT WHEN語句

EXIT-WHEN語句允許評估WHEN子句中的條件。如果條件為:TRUE,則迴圈完成,並且在END LOOP之後立即將控制傳遞給語句。

以下是EXIT WHEN語句的兩個重點 -

  • 在條件為真之前,EXIT-WHEN語句的作用就像一個NULL語句,除了評估條件,並且不終止迴圈。
  • 迴圈內的語句必須改變條件的值。

語法

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

EXIT WHEN condition;

EXIT WHEN語句替換if-thenEXIT語句一起使用的條件語句。

範例

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

執行上面範例程式碼,得到以下結果 -