Compartilhar via


Instrução WHILE

Aplica-se a:verificação marcada como sim Databricks SQL verificação marcada como sim Databricks Runtime 16.3 e superior

Repita a execução de uma lista de instruções enquanto uma condição for verdadeira.

Essa instrução só pode ser usada em uma instrução composta.

Sintaxe

[ label : ] WHILE cond DO
  { stmt ; } [...]
  END WHILE [ label ]

Parâmetros

  • etiqueta

    Um rótulo opcional para o loop, que é exclusivo entre todos os rótulos para instruções dentro das quais a instrução WHILE está contida. O rótulo pode ser usado para PARAR ou REPETIR o loop.

  • cond

    Qualquer expressão avaliada como um BOOLEAN

  • stmt

    Uma instrução SQL

Exemplos

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