HEMEN YÜRÜT
Şunlar için geçerlidir: Databricks SQL Databricks Runtime 14.3 ve üzeri
olarak STRING
sağlanan bir SQL deyimi yürütür.
deyimi isteğe bağlı olarak bağımsız değişkenleri 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
USING ( { arg_expr [ AS ] [alias] } [, ...] )
Parametreler
sql_string
İyi
STRING
biçimlendirilmiş bir SQL deyimi üreten değişmez değer veya değişken.Deyimleri iç içe
EXECUTE IMMEDIATE
yerleştiremezsiniz.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, parametre işaretçileri içeriyorsa
sql_string
, değerler içindeki değerleri parametrelere bağlar.arg_expr
Parametre işaretçisine bağlanan değişmez değer veya değişken. 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 ada göre yapılır.
alias
Adlandırılmış parametre işaretçisine bağlanmak
arg_expr
için kullanılan adı geçersiz kılar. Adlandırılmış her parametre işaretçisi bir kez eşleştirilmelidir. Tümüarg_expr
eşleşmemelidir.
Ö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
İlgili makaleler
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin