📜  PL / SQL Continue

📅  最后修改于: 2020-11-12 01:47:29             🧑  作者: Mango

PL / SQL继续语句

如果continue语句的主体是有条件的或无条件的,则continue语句用于从提醒中退出循环,并强制执行循环的下一次迭代,从而跳过两者之间的任何代码。

在Oracle 10g中,continue语句不是关键字。它是oracle 11g中包含的新功能。

例如:如果continue语句过早退出游标FOR LOOP,则退出内部循环并将控制转移到外部循环的下一个迭代,游标将关闭(在这种情况下,CONTINUE的作用类似于GOTO)。

句法:

continue;

PL / SQL继续语句的示例

让我们以PL / SQL继续语句为例。

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支持此功能。