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

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

  • 如果您使用的是嵌套循环,则EXIT语句将停止执行最里面的循环,并开始执行该块之后的下一行代码。

EXIT - 语法

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

EXIT;

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语句替换了条件语句,如if-thenEXIT语句一起使用。

EXIT WHEN - 示例

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.   

参考链接

https://www.learnfk.com/plsql/plsql-exit-statement.html