Pernyataan LOOP

Berlaku untuk:bercentang ya Databricks SQL bercentang ya Databricks Runtime 16.3 ke atas

Ulangi eksekusi daftar pernyataan.

Pernyataan ini hanya dapat digunakan dalam pernyataan gabungan .

Sintaksis

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

Parameter

  • label

    Label opsional untuk perulangan, yang unik di antara semua label untuk pernyataan yang memuat pernyataan LOOP. Jika label akhir ditentukan, label harus cocok dengan label awal. Label dapat digunakan untuk LEAVE atau ITERATE perulangan.

  • stmt

    Pernyataan perintah SQL

Contoh

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