PL/SQL - EXIT 语句
PL/SQL 编程语言中的EXIT语句有以下两种用法 −
当在循环中遇到 EXIT 语句时,循环立即终止,程序控制在循环之后的下一条语句处恢复。
如果您使用嵌套循环(即一个循环在另一个循环中),则 EXIT 语句将停止执行最内层循环并开始执行该块之后的下一行代码。
语法
PL/SQL 中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 语句替换了与 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.