Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 16.3 ke atas
Ulangi eksekusi daftar pernyataan untuk setiap baris yang dikembalikan oleh kueri.
Pernyataan ini hanya dapat digunakan dalam pernyataan gabungan .
Sintaksis
[ label : ] FOR [ variable_name AS ] query
DO
{ stmt ; } [...]
END FOR [ label ]
Parameter
-
Label opsional untuk loop yang unik di antara semua label untuk pernyataan yang memuat pernyataan
FOR. Jika label akhir ditentukan, label harus cocok dengan label awal. Label dapat digunakan untuk LEAVE atau ITERATE perulangan. Untuk memenuhi syarat referensi kolom perulangan, gunakanvariable_name, bukanlabel. -
Nama opsional yang dapat Anda gunakan sebagai kualifikasi saat mereferensikan kolom di kursor.
stmtPernyataan perintah SQL
Catatan
Jika kueri beroperasi pada tabel yang juga dimodifikasi dalam isi perulangan, semantik bergantung pada sumber data.
Untuk tabel Delta, kueri akan tetap tidak terpengaruh.
Databricks tidak menjamin eksekusi penuh kueri jika perulangan FOR selesai sebelum waktunya karena pernyataan LEAVE atau kondisi kesalahan.
Ketika pengecualian atau efek samping terjadi selama eksekusi kueri, Databricks tidak menjamin pada titik waktu mana dalam perulangan ini terjadi.
Sering kali perulangan FOR dapat digantikan dengan kueri relasional, yang umumnya lebih efisien.
Contoh
-- sum up all odd numbers from 1 through 10
> BEGIN
DECLARE sum INT DEFAULT 0;
sumNumbers: FOR row AS SELECT num FROM range(1, 20) AS t(num) DO
IF num > 10 THEN
LEAVE sumNumbers;
ELSEIF num % 2 = 0 THEN
ITERATE sumNumbers;
END IF;
SET sum = sum + row.num;
END FOR 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
Artikel terkait
- Pembuatan Skrip SQL
- Pernyataan CASE
- Pernyataan Gabungan
- Pernyataan LOOP
- Pernyataan WHILE
- Pernyataan REPEAT
- Pernyataan "LEAVE"
- Pernyataan ITERATE