REPEAT 语句

适用于:勾选“是” Databricks SQL 选中标记为“是” Databricks Runtime 16.3 及更高版本

重要

此功能以 公共预览版提供

重复执行语句列表,直到某个条件为真。

此语句只能在 复合语句中使用。

语法

[ label : ] REPEAT
  { stmt ; } [...]
  UNTIL cond
  END REPEAT [ label ]

参数

  • 标签

    循环的可选标签,它在包含 REPEAT 语句的所有语句的标签中是唯一的。 标签可用于 LEAVEITERATE 循环。

  • cond

    计算为 BOOLEAN 的任何表达式

  • stmt

    SQL 语句

例子

-- sum up all odd numbers from 1 through 10
> BEGIN
    DECLARE sum INT DEFAULT 0;
    DECLARE num INT DEFAULT 0;
    sumNumbers: REPEAT
      SET num = num + 1;
      IF num % 2 = 0 THEN
        ITERATE sumNumbers;
      END IF;
      SET sum = sum + num;
    UNTIL num = 10
    END REPEAT sumNumbers;
    VALUES (sum);
  END;
 25

-- Compare with the much more efficient relational computation:
> SELECT sum(num) FROM range(1, 10) AS t(num) WHERE num % 2 = 1;
 25