Compartir a través de


Instrucción WHILE

Se aplica a:marcado como sí Databricks SQL marcado como sí Databricks Runtime 16.3 y versiones posteriores

Importante

Esta característica está en versión preliminar pública.

Repita la ejecución de una lista de instrucciones mientras se cumple una condición.

Esta instrucción solo se puede usar dentro de una instrucción compuesta.

Sintaxis

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

Parámetros

  • etiqueta

    Una etiqueta opcional para el bucle, que es única entre todas las etiquetas de instrucciones dentro de las cuales se contiene la instrucción `WHILE`. La etiqueta se puede usar para DEJAR o ITERAR el bucle.

  • cond

    Cualquier expresión que evalúe un BOOLEAN

  • stmt

    Instrucción SQL

Ejemplos

-- 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