LOOP deyimi

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.3 ve üzeri

İfade listesinin yürütülmesini yineleyin.

Bu deyim yalnızca bileşik deyimi içinde kullanılabilir.

Sözdizimi

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

Parametre

  • etiket

    Döngüye isteğe bağlı olarak atanabilecek bir etikettir ve içerisinde LOOP deyiminin yer aldığı deyimlerin tüm etiketleri arasında benzersizdir. Bir bitiş etiketi belirtilirse, başlangıç etiketiyle eşleşmesi gerekir. Etiket LEAVE veya ITERATE döngüsü için kullanılabilir.

  • stmt

    SQL deyimi

Örnekler

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