PL/SQL Continue 语句

2024年11月20日 PL/SQL Continue 语句 极客笔记

PL/SQL Continue 语句

continue语句用于在循环体中有条件地或无条件地退出循环的剩余部分,并强制执行下一次循环迭代,跳过其中的任何代码。

continue语句在Oracle 10g中不是一个关键字。它是在Oracle 11g中引入的新功能。

例如:如果continue语句在游标FOR循环中提前退出,则它会退出内部循环并将控制转移到外部循环的下一次迭代,游标将关闭(在这种情况下,CONTINUE的工作方式类似于GOTO)。

语法:

continue;

PL/SQL continue语句示例

让我们来看一个PL/SQL continue语句的示例。

DECLARE
  x NUMBER := 0;
BEGIN
  LOOP -- After CONTINUE statement, control resumes here
    DBMS_OUTPUT.PUT_LINE ('Inside loop:  x = ' || TO_CHAR(x));
    x := x + 1;
    IF x < 3 THEN
      CONTINUE;
    END IF;
    DBMS_OUTPUT.PUT_LINE
      ('Inside loop, after CONTINUE:  x = ' || TO_CHAR(x));
    EXIT WHEN x = 5;
  END LOOP;

  DBMS_OUTPUT.PUT_LINE (' After loop:  x = ' || TO_CHAR(x));
END;
/

执行上述代码后,您将获得以下结果:

Inside loop:  x = 0
Inside loop:  x = 1
Inside loop:  x = 2
Inside loop, after CONTINUE:  x = 3
Inside loop:  x = 3
Inside loop, after CONTINUE:  x = 4
Inside loop:  x = 4
Inside loop, after CONTINUE:  x = 5
After loop:  x = 5

注意:在Oracle 10g中不支持continue语句。Oracle 11g作为新功能支持此语句。

本文链接:http://so.lmcjl.com/news/18211/

展开阅读全文