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


Оператор LOOP

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

Повторите выполнение списка инструкций.

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

Синтаксис

[ label : ] LOOP
  { stmt ; } [...]
  END LOOP [ label ]

Параметры

  • ярлык

    Необязательная метка для цикла, которая является уникальной среди всех меток для инструкций, внутри которых находится инструкция LOOP. Если указана конечная метка, она должна соответствовать начальной метки. Метка может использоваться для ВЫХОДА или ИТЕРАЦИИ цикла.

  • stmt

    Инструкция SQL

Примеры

-- sum up all odd numbers from 1 through 10
> BEGIN
    DECLARE sum INT DEFAULT 0;
    DECLARE num INT DEFAULT 0;
    sumNumbers: LOOP
      SET num = num + 1;
      IF num > 10 THEN
        LEAVE sumNumbers;
      END IF;
      IF num % 2 = 0 THEN
        ITERATE sumNumbers;
      END IF;
      SET sum = sum + num;
    END LOOP 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