Teilen über


LOOP-Anweisung

Gilt für:mit Häkchen markiert: ja Databricks SQL mit Häkchen markiert: ja Databricks Runtime 16.3 und höher

Wiederholen Sie die Ausführung einer Liste von Anweisungen.

Diese Anweisung kann nur in einer zusammengesetzten Anweisung verwendet werden.

Syntax

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

Die Parameter

  • Etikett

    Eine optionale Bezeichnung für die Schleife, die für alle Bezeichnungen von Anweisungen eindeutig ist, in denen die LOOP-Anweisung enthalten ist. Wenn eine Endbeschriftung angegeben wird, muss sie mit der Anfangsbeschriftung übereinstimmen. Die Bezeichnung kann für LEAVE- oder ITERATE-Vorgänge in der Schleife verwendet werden.

  • stmt

    Eine SQL-Anweisung

Beispiele

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