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 Önizleme aşamasındadır.
SQL deyimleri dizisi, akış denetimi deyimleri, yerel değişken bildirimleri ve özel durum işleyicileri içerebilen bir SQL Betiği bloğu uygular.
Not
Bir not defterinden bileşik deyim çağrılırken hücredeki tek deyim olmalıdır.
Sözdizimi
[ label : ]
BEGIN
[ { declare_variable | declare_condition } ; [...] ]
[ declare_handler ; [...] ]
[ SQL_statement ; [...] ]
END [ label ]
declare_variable
DECLARE variable_name datatype [ DEFAULT default_expr ]
declare_condition
DECLARE condition_name CONDITION [ FOR SQLSTATE [ VALUE ] sqlstate ]
declare_handler
DECLARE handler_type HANDLER FOR condition_values handler_action
handler_type
EXIT
condition_values
{ { SQLSTATE [ VALUE ] sqlstate | condition_name } [, ...] |
{ SQLEXCEPTION | NOT FOUND } [, ...] }
Parametre
-
İsteğe bağlı bir tanımlayıcı, bileşik içinde tanımlanan değişkenleri niteleyip bileşikte bırakmak için kullanılır. Her iki etiket oluşumu da uyumlu olmalıdır ve
END
etiketi yalnızcalabel:
etiketi belirtildiğinde belirtilebilir.label üst düzey bir bileşik deyim için belirtilmemelidir.
NOT ATOMIC
Bileşik içindeki bir SQL deyimi başarısız olursa önceki SQL deyimlerinin geri alınmayacaklarını belirtir. Bu, varsayılan ve tek davranıştır.
declare_variable
Bir veya daha fazla değişken için yerel değişken bildirimi
-
Değişkenin adı. Ad, sıfatlarla nitelendirilmemeli ve bileşik deyim içinde benzersiz olmalıdır.
data_type
Desteklenen herhangi bir veri türü. data_type atlanırsa, DEFAULT belirtmeniz gerekir ve tür değeri default_expression'dan alınır.
{ DEFAULT | = } default_expression
Bildiriminden sonra değişkenin ilk değerini tanımlar. default_expression, data_type'a dönüştürülebilir olmalıdır. Varsayılan belirtilmezse, değişken NULL ile başlatılır.
-
Declare_condition
Yerel koşul bildirimi
-
Koşulun nitelenmemiş adı bileşik deyimi kapsamındadır.
sqlstate
A-Z ve 0-9 içeren, büyük/küçük harfe duyarsız 5 alfasayısal karakterden oluşan bir
STRING
sabit değeridir. SQLSTATE '00', '01' veya 'XX' ile başlamamalıdır. '02' ile başlayan tüm SQLSTATE'ler de önceden tanımlanmış NOT FOUND özel durumu tarafından yakalanacaktır. Belirtilmezse, SQLSTATE '45000' olur.
-
declare_handler
Hata işleyicisi bildirimi.
handler_type
EXIT
Koşul işlendikten sonra bileşik deyiminden çıkmak için işleyiciyi sınıflandırır.
condition_values
İşleyicinin hangi SQL durumlarına veya koşullara uygulanacağını belirtir. Koşul değerleri bileşik deyimindeki tüm işleyiciler içinde benzersiz olmalıdır. Belirli koşul değerleri
SQLEXCEPTION
'dan daha önceliklidir.sqlstate
STRING
ve'A'-'Z'
(büyük/küçük harfe duyarsız) olan 5 karakterlik'0'-'9'
ifadesi.-
Bu bileşik içinde tanımlanan bir koşul, dış bileşik deyim veya sistem tanımlı bir hata sınıfı.
SQLEXCEPTION
Kullanıcıya yönelik herhangi bir hata koşulu için geçerlidir.
NOT FOUND
SQLSTATE '02' sınıfına sahip herhangi bir hata koşulu için geçerlidir.
handler_action
Koşul değerlerinden herhangi biri gerçekleştiğinde yürütülecek bir SQL deyimi. Birden çok deyim eklemek için iç içe yerleştirilmiş bileşik deyimi kullanın.
SQL_statement
DDL, DML, denetim deyimi veya bileşik deyim gibi bir SQL deyimi. Herhangi bir
SELECT
veyaVALUES
deyimi, çağıranın kullanabileceği bir sonuç kümesi oluşturur.
Örnekler
-- A compound statement with local variables, and exit hanlder and a nested compound.
> BEGIN
DECLARE a INT DEFAULT 1;
DECLARE b INT DEFAULT 5;
DECLARE EXIT HANDLER FOR DIVIDE_BY_ZERO
div0: BEGIN
VALUES (15);
END div0;
SET a = 10;
SET a = b / 0;
VALUES (a);
END;
15