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


Оператор LOOP

применимо:отмечено галочкой 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