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
广告