PL/SQL - EXIT 语句

  • 简述

    EXIT PL/SQL 编程语言中的语句有以下两种用法 -
    • 当在循环中遇到 EXIT 语句时,循环立即终止,程序控制在循环后的下一个语句处恢复。
    • 如果您使用嵌套循环(即,一个循环在另一个循环内),EXIT 语句将停止最内层循环的执行并开始执行块之后的下一行代码。

    句法

    PL/SQL 中 EXIT 语句的语法如下:
    
    EXIT;
    

    流程图

    PL/SQL 退出语句

    例子

    
    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 语句 replaces a conditional statement like if-then 与 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; 
          -- 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.