Поделиться через


Оператор REPEAT

относится к:отмечено 'Да' Databricks Runtime 16.3 и более поздние версии

Важный

Эта функция доступна в общедоступной предварительной версии.

Повторите выполнение списка операторов, пока условие не будет true.

Эта инструкция может использоваться только в составной инструкции.

Синтаксис

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

Параметры

  • метка

    Необязательная метка для цикла, которая является уникальной среди всех меток для инструкций, в которых содержится инструкция REPEAT. Метка может использоваться для того, чтобы выйти из или повторить цикл.

  • cond

    Любое выражение, оценивающее ЛОГИЧЕСКОЕ значение

  • 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