DECLARE VARIABLE

説明

DECLARE VARIABLE ステートメントは、Spark で一時変数を生成するために使用されます。一時変数はセッションレベルでスコープされます。

定数式が許可される場所であればどこでも、変数名を指定して参照できます。session または system.session で変数を修飾しない限り、変数は Spark が名前を列または列エイリアスとして解決できなかった後にのみ解決されます。

一時変数は、永続化されたビュー、列のデフォルト式、生成された列式などの永続化されたオブジェクトでは参照できません。

構文

DECLARE [ OR REPLACE ] [ VAR | VARIABLE ]
    variable_name [ data_type ] [ { DEFAULT | = } default_expr ]

パラメータ

-- The dense form of declaring a variable with default
DECLARE five = 5;

-- Declare a defined variable
DECLARE five = 55;
[VARIABLE_ALREADY_EXISTS] Cannot create the variable `system`.`session`.`five` because it already exists.
Choose a different name, or drop or replace the existing variable. SQLSTATE: 42723

-- Use `DECLARE OR REPLACE` to declare a defined variable
DECLARE OR REPLACE five = 55;

-- Explicitly declare the default value of a variable using the keyword `DEFAULT`
DECLARE VARIABLE size DEFAULT 6;

-- STRING variable initialized to `NULL`
DECLARE some_var STRING;