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 STRINGsağ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_stringSTRINGİyi biçimlendirilmiş bir SQL deyimi oluşturan sabit bir ifade.sql_stringparametre işaretçileri içeriyorsa, bunların tümü konumsal (?) veya tümü adlandırılmış (:parm1) olmalıdır.Databricks Runtime 17.3'ten önce
sql_stringbir sabit veya bir değişken olmalıdır. İfadeleriEXECUTE IMMEDIATEiç içe 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,
sql_stringparametre işaretçileri içeriyorsa, değeri parametrelere iliştirir.arg_exprParametre işaretçisine bağlanan sabit ifade. 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.
Databricks Runtime 17.3'ten önce bir sabit veya
arg_exprolması gerekir.aliasarg_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;
> DECLARE sqlStr = 'SELECT SUM(c1) FROM VALUES(:first), (:second) AS t(c1)';
> EXECUTE IMMEDIATE sqlStr INTO sum USING arg1, arg2;
> SELECT sum;
11
-- Using named parameter markers
> DECLARE sum INT;
> DECLARE 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
-- Using constant expressions
> DECLARE func STRING DEFAULT 'sum';
> EXECUTE IMMEDIATE 'SELECT ' || func || '(c1) FROM VALUES(:first), (:second) AS t(c1)'
USING 5 + 7 AS first, length('hello') AS second;
19