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.1 ve üzeri
Sabit ifadenin kullanabildiği her yerde başvurabileceğiniz özel, geçici bir oturum değişkeni oluşturur. SQL ifadelerindeki tanımlayıcıları parametre haline getirmek için değişkenleri, IDENTIFIER söz dizimi ile birlikte de kullanabilirsiniz.
Değişkenler SET VARIABLE deyimi kullanılarak değiştirilir.
Geçici değişkenlere aşağıdakiler içinde başvurulamaz:
- denetim kısıtlaması
- oluşturulan sütun
- varsayılan ifade
- kalıcı bir SQL UDF'nin gövdesi
- kalıcı veri görünümünün gövdesi
Geçici değişkenler oturum değişkenleri olarak da adlandırılır.
Sözdizimi
DECLARE [ OR REPLACE ] [ VARIABLE ] variable_name
[ data_type ] [ { DEFAULT | = } default_expression ]
Parametreler
VEYA DEĞİŞTİR
Belirtilirse, aynı ada sahip değişken değiştirilir.
-
Değişkenin adı. İsim
session
veyasystem.session
ile nitelenebilir. Belirtilmediği süreceOR REPLACE
, adın oturum içinde benzersiz olması gerekir. -
Desteklenen herhangi bir veri türü. Eğer
data_type
belirtilmezse,DEFAULT
belirtmelisiniz ve türüdefault_expression
'den türetilir. DEFAULT default_expression veya = default_expression
Oluşturma işleminden sonra değişkenin ilk değerini tanımlar.
default_expressio
n,data_type
'ye dönüştürülebilir olmalıdır. Varsayılan bir değer belirtilmediğinde, değişkenNULL
ile başlatılır.İfade bir alt sorgu içeriyorsa Azure Databricks bir INVALID_DEFAULT_VALUE.SUBQUERY_EXPRESSION hatası oluşturur.
Örnekler
-- Create a variable with a default
> DECLARE VARIABLE myvar INT DEFAULT 5;
> VALUES (myvar);
5
-- Setting a variable
> SET VAR myvar = (SELECT sum(c1) FROM VALUES(1), (2) AS T(c1);
> VALUES (myvar);
3
-- Variables are the outermost scope.
> SELECT myvar, t.myvar, session.myvar FROM VALUES(1) AS T(myvar);
1 1 3
> DROP TEMPORARY VARIABLE myvar;
-- A minimalist variable declaration
> DECLARE myvar = 5;
> VALUES (myvar);
5
-- Using a variable with an IDENTIFIER clause
> DECLARE colname STRING;
> SET VAR colname = 'c1';
> SELECT IDENTIFIER(colname) FROM VALUES(1, 2) AS T(c1, c2);
1
> SET VAR colname = 'c2';
> SELECT IDENTIFIER(colname) FROM VALUES(1, 2) AS T(c1, c2);
2