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.
Şunlar için geçerlidir: Databricks SQL
Databricks Runtime 14.3 ve üzeri
olarak STRING
sağlanan bir SQL deyimi yürütür.
Bu deyim, bağımsız değişkenleri isteğe bağlı olarak parametre işaretçilerine geçirir ve sonuçları değişkenlere atar.
Sözdizimi
EXECUTE IMMEDIATE sql_string
[ INTO var_name [, ...] ]
[ USING { arg_expr [ AS ] [alias] } [, ...] ]
Diğer SQL diyalektleriyle uyumluluk için, EXECUTE IMMEDIATE
ayrıca USING ( { arg_expr [ AS ] [alias] } [, ...] )
destekliyor.
Parametreler
sql_string
İyi biçimlendirilmiş bir SQL deyimi oluşturan bir değişmez değer veya değişken
STRING
.İfadeleri iç içe
EXECUTE IMMEDIATE
kullanamazsınız.INTO ( var_name [, ...] )
İsteğe bağlı olarak tek satırlı sorgunun sonuçlarını SQL değişkenlerine döndürür. Sorgu satır döndürmezse sonuç olur
NULL
.Deyimi bir sorgu değilse, Azure Databricks hata oluşturur
INVALID_STATEMENT_FOR_EXECUTE_INTO
.Sorgu birden fazla satır döndürürse Azure Databricks ROW_SUBQUERY_TOO_MANY_ROWS hata verir.
-
BIR SQL değişkeni. Bir değişkene birden çok kez başvurulamayabilir.
-
USING { arg_expr [ AS ] [alias] } [, ...]
İsteğe bağlı olarak,
sql_string
parametre işaretçileri içeriyorsa, değeri parametrelere iliştirir.arg_expr
Bir sabit veya değişken parametre işaretçisine bağlanır. Parametre işaretçileri adlandırılmamışsa bağlama konuma göre yapılır. Adlandırılmış parametre işaretçileri için bağlama, isme göre yapılır.
alias
arg_expr
'u adlandırılmış parametre işaretçisine bağlamak için kullanılan adı geçersiz kılar. Adlandırılmış her parametre işaretçisi bir kez eşleştirilmelidir. Tümarg_expr
öğelerinin eşleşmesi gerekli değildir.
Örnekler
-- A self-contained execution using a literal string
> EXECUTE IMMEDIATE 'SELECT SUM(c1) FROM VALUES(?), (?) AS t(c1)' USING 5, 6;
11
-- A SQL string composed in a SQL variable
> DECLARE sqlStr = 'SELECT SUM(c1) FROM VALUES(?), (?) AS t(c1)';
> DECLARE arg1 = 5;
> DECLARE arg2 = 6;
> EXECUTE IMMEDIATE sqlStr USING arg1, arg2;
11
-- Using the INTO clause
> DECLARE sum INT;
> EXECUTE IMMEDIATE sqlStr INTO sum USING arg1, arg2;
> SELECT sum;
11
-- Using named parameter markers
> SET VAR sqlStr = 'SELECT SUM(c1) FROM VALUES(:first), (:second) AS t(c1)';
> EXECUTE IMMEDIATE sqlStr INTO sum
USING (5 AS first, arg2 AS second);
> SELECT sum;
11