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作为新功能支持此语句。