PL/SQL - EXIT 语句

PL/SQL 编程语言中的EXIT语句有以下两种用法 −

  • 当在循环中遇到 EXIT 语句时,循环立即终止,程序控制在循环之后的下一条语句处恢复。

  • 如果您使用嵌套循环(即一个循环在另一个循环中),则 EXIT 语句将停止执行最内层循环并开始执行该块之后的下一行代码。

语法

PL/SQL 中EXIT语句的语法如下 −

EXIT;

流程图

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

在 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 语句的作用类似于 NULL 语句,除了评估条件,并且不会终止循环。

  • 循环内的语句必须更改条件的值。

语法

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.   

❮ PL/SQL 循环