Skip to content

EXIT语句和CONTINUE语句

EXIT和CONTINUE语句用于控制循环的执行。

EXIT

EXIT语句用于立即退出当前循环,不再执行循环体内的剩余部分,并且不再进行下一次迭代。

语法格式

EXIT语句有两种形式:

sql
BreakStmt::=
    EXIT ;
|   EXIT WHEN bool_expr ;

参数说明

bool_expr:布尔表达式,当条件为TRUE时,退出循环。

示例

一个FOR循环用于输出从1到6的数字,但在i等于5时退出循环。

sql
BEGIN
  FOR i IN 1..6 LOOP
    SEND_MSG('VALUE: ' || i);
    IF i = 5 THEN
      EXIT;
    END IF;
  END LOOP;
END;
/

-- 输出
VALUE: 1
VALUE: 2
VALUE: 3
VALUE: 4
VALUE: 5

CONTINUE

CONTINUE语句用于跳过当前循环的剩余部分,并立即开始下一次迭代。

语法格式

sql
ContinueStmt::=
    CONTINUE ;

示例

一个FOR循环用于输出从1到6的数字,但在i等于5时跳过循环。

sql
BEGIN
  FOR i IN 1..6 LOOP
    SEND_MSG('VALUE: ' || i);
    IF i = 5 THEN
      CONTINUE;
    END IF;
  END LOOP;
END;
/

-- 输出
VALUE: 1
VALUE: 2
VALUE: 3
VALUE: 4
VALUE: 6