Skip to content

LOOP语句

LOOP语句用于构造简单的循环语句。

语法格式

sql
LOOP
  pl_stmt_list
{END LOOP | ENDLOOP};

LOOP语句不含循环退出条件,因而在语句体中应插入循环体终止语句,终止循环体的关键字为EXIT,用户可根据条件判断终止循环,语法如下:

sql
LOOP
  pl_stmt_list
  IF bool_expr THEN
    EXIT;
  END IF;
END LOOP

sql
LOOP
  pl_stmt_list
  EXIT WHEN bool_expr;
END LOOP

参数说明

  • pl_stmt_list:循环体内的一组语句,这些语句在每次循环中都会被执行。
  • bool_expr:布尔表达式,当该表达式为TRUE时,退出循环。

示例

在块语句中定义变量参数x并赋值为100,循环对其进行扩增 100 处理,并且在每次增大数据后进行条件判断,当x大于 1000 时退出循环体并输出x值。

sql
DECLARE
  x INTEGER;
BEGIN
  x := 100;
  LOOP
    x := x + 100;
    IF x > 1000 THEN
      EXIT;
    END IF;
  END LOOP;
  SEND_MSG(x);
END;
/
-- 输出
1100