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-then与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;
-- terminate the loop using the exit when statement
EXIT WHEN a > 15;
END LOOP;
END;
/
执行上面示例代码,得到以下结果 -

