カテゴリ:

コンテキスト関数 (セッション)

GETVARIABLE

SQL 変数名に関連付けられた値を返します。

こちらもご参照ください。

セッション変数関数

構文

GETVARIABLE( '<name>' )
Copy

引数

name

SQL 変数の名前です。

変数定義時に小文字を使用した場合でも、名前は大文字で指定する必要があります。

戻り値

戻り値のデータ型は VARCHAR です。

使用上の注意

この関数を同じセッションで複数回呼び出すと、現在のセッションの結果キャッシュが使用されます。結果キャッシュは、行アクセスポリシーなどのポリシーオブジェクトの本体を含め、この関数を呼び出すすべての場所に適用されます。

この例では、この関数の使用方法と、変数の値を取得する他の方法を示します。

SET MY_LOCAL_VARIABLE= 'my_local_variable_value';
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
SELECT 
    GETVARIABLE('MY_LOCAL_VARIABLE'), 
    SESSION_CONTEXT('MY_LOCAL_VARIABLE'),
    $MY_LOCAL_VARIABLE;
+----------------------------------+--------------------------------------+-------------------------+
| GETVARIABLE('MY_LOCAL_VARIABLE') | SESSION_CONTEXT('MY_LOCAL_VARIABLE') | $MY_LOCAL_VARIABLE      |
|----------------------------------+--------------------------------------+-------------------------|
| my_local_variable_value          | my_local_variable_value              | my_local_variable_value |
+----------------------------------+--------------------------------------+-------------------------+
Copy

SET コマンドで変数を作成すると、変数名はすべて大文字になります。関数 GETVARIABLE と SESSION_CONTEXT は、大文字の関数名を渡す必要があります。「$」表記は大文字でも小文字でも使えます。

SET var_2 = 'value_2';
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
SELECT 
    GETVARIABLE('var_2'),
    GETVARIABLE('VAR_2'),
    SESSION_CONTEXT('var_2'),
    SESSION_CONTEXT('VAR_2'),
    $var_2,
    $VAR_2;
+----------------------+----------------------+--------------------------+--------------------------+---------+---------+
| GETVARIABLE('VAR_2') | GETVARIABLE('VAR_2') | SESSION_CONTEXT('VAR_2') | SESSION_CONTEXT('VAR_2') | $VAR_2  | $VAR_2  |
|----------------------+----------------------+--------------------------+--------------------------+---------+---------|
| NULL                 | value_2              | NULL                     | value_2                  | value_2 | value_2 |
+----------------------+----------------------+--------------------------+--------------------------+---------+---------+
Copy