Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 16.3 ve üzeri
Önemli
Bu özellik Genel Önizlemesürümündedir.
SQL/PSM standart tabanlı betik sözdizimini kullanarak güçlü yordamsal mantık kullanabilirsiniz.
Herhangi bir SQL komut dosyası, bileşik deyimi bloğundan (BEGIN ... END) oluşur ve böyle başlar.
Bileşik deyim, özel durumları yakalamak için kullanılan yerel değişkenleri, kullanıcı tanımlı koşulları ve koşul işleyicilerini bildirmek için bir bölümle başlar.
Bunu aşağıdakilerden oluşan bileşik deyim gövdesi izler:
- Akış kontrol ifadeleri; koşul ifadeleri üzerinde döngüler, sorgu sonuçları üzerinde FOR döngüleri, IF ve CASEgibi koşullu mantık ve döngülerden çıkmayı sağlayan yapılar, örneğin LEAVE ve ITERATEiçerir.
-
ALTER,CREATE,DROPgibi DDL deyimleri. - GRANT ve REVOKEgibi DCL (Veri Denetimi) deyimleri.
- DML deyimleri INSERT, UPDATE, DELETEve MERGE.
- Betiğin çağırıcısına sonuç kümeleri döndüren sorgular.
- yerel değişkenleri ve yerel oturum değişkenlerini ayarlamak için SET ifadeleri.
- EXECUTE IMMEDIATE ifadesi.
- Değişkenler, koşullar ve koşul işleyicileri için iç içe kapsamlar sağlayan iç içe bileşik deyimler.
Çağıran ile bileşik deyim arasında veri geçirme
SQL betiğine veri geçirmenin iki yolu vardır:
- Bir SQL betiğinden diğerine skaler değerler veya küçük dizi veya eşleme kümeleri geçirmek için oturum değişkenlerini kullanın.
- Skaler değerleri veya küçük dizi kümelerini geçirmek veya verileri not defteri pencere öğesinden, Python'dan veya başka bir dilden SQL Betiği'ne eşlemek için parametre işaretçilerini kullanın.
Değişken kapsam belirleme
Bileşik deyim içinde bildirilen değişkenlere bileşik deyim içindeki herhangi bir ifadede başvurulabilir. Databricks, Ad Çözümlemesi'nde açıklanan kuralları izleyerek en iç kapsamdan dışa doğru tanımlayıcıları çözümler. Yinelenen değişken adlarınıayırt etmek için isteğe bağlı bileşik deyim etiketlerini kullanabilirsiniz.
Koşul işleme
EXIT SQL betiğinin işlenmesi sırasında özel durumları yakalamak ve işlemek için kullanılan koşul işleyicilerini destekler.
Koşul işleyicisi içinde, özgün özel durumu yeniden sinyallayabilir, SIGNAL yeni bir özel durum oluşturabilir veya özel durum olmadan bileşik deyiminden çıkabilirsiniz.
Koşul işleyicileri, üç ayrı koşul sınıfını işlemek için tanımlanabilir:
DIVIDE_BY_ZEROveya kullanıcı tarafından bildirilen bir koşul gibi belirli bir Databricks tanımlı hata sınıfı olabilecek bir veya daha fazla adlandırılmış koşul. Bu işleyiciler bu özel koşulları ele alır.Databricks veya kullanıcı
SQLSTATEdeyimi tarafından yükseltilebilen bir veya daha fazlaSIGNAL. Bu işleyiciler, buSQLSTATEile ilişkili tüm koşulları işleyebilir.Genel bir
SQLEXCEPTIONişleyicisi, (SQLEXCEPTIONolmayan veSQLSTATEolmayan herhangi birXX***) olan02***'e düşen tüm koşulları yakalayabilir.
Aşağıdakiler, bir özel duruma hangi koşul işleyicisinin uygulanacağına karar vermek için kullanılır. Bu koşul işleyicisi en uygunişleyici olarak adlandırılır:
Bir koşul işleyicisi, kendi gövdesinde tanımlanan herhangi bir deyime veya aynı bileşik deyimde bildirilen herhangi bir koşul işleyicisinin gövdesine uygulanamaz.
Özel durumun oluşturulduğu en içteki bileşik deyimde tanımlanan geçerli koşul işleyicileri uygundur.
Birden fazla uygun işleyici varsa, en özel işleyici en uygun işleyicidir. Örneğin, adlandırılmış bir koşul üzerindeki işleyici, adlandırılmış bir
SQLSTATEüzerindekine göre daha özeldir. GenelEXCEPTIONişleyicisi en az özeldir.
Bir işleyici kendi SIGNALveya RESIGNALkoşulunu karşılamadığı sürece, bir koşul işleyicisinin sonucu, işleyiciyi belirten bileşik deyimden sonra gelen deyimi yürütmektir.
SQL Depolanan Prosedürler
Önemli
Bu özellik Genel Önizlemesürümündedir.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 17.0 ve üzeri
CREATE PROCEDURE deyimini kullanarak Unity Kataloğu'nda bir SQL Betiğini kalıcı hale ekleyebilirsiniz. Daha sonra GRANT prosedüre diğer yetkililere erişim verebilirsiniz. Bu yöneticiler daha sonra yordamı çağırmak için CALL deyimini kullanabilirler.
Kontrol Akışı İfadelerinin Listesi
Desteklenen denetim akışı deyiminin listesi aşağıdadır:
- CASE deyimi
- BEGIN END bileşik deyimi
- for deyimi
- GET DIAGNOSTICS ifadesi
- IF THEN ELSE deyimi
- ITERATE deyimi
- LEAVE deyimi
- LOOP deyimi
- repeat deyimi
- İSTIFA bildirimi
- signal deyimi
- WHILE ifadesi