Kategorien:

Kontextfunktionen (Sitzung)

GETVARIABLE

Gibt den mit einem SQL-Variablennamen verbundenen Wert zurück.

Siehe auch:

Sitzungsvariablenfunktionen

Syntax

GETVARIABLE( '<name>' )
Copy

Argumente

name

Der Name der SQL-Variablen.

Sie müssen den Namen in Großbuchstaben angeben, auch wenn Sie bei der Definition der Variablen Kleinbuchstaben verwendet haben.

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist VARCHAR.

Nutzungshinweise

Diese Funktion verwendet den Ergebnis-Cache für die aktuelle Sitzung, wenn Sie die Funktion mehr als einmal in derselben Sitzung aufrufen. Der Ergebnis-Cache gilt überall dort, wo Sie diese Funktion aufrufen, einschließlich des Textteils von Richtlinienobjekten, wie z. B. einer Zeilenzugriffsrichtlinie.

Beispiele

Dieses Beispiel zeigt, wie man diese Funktion und andere Möglichkeiten, den Wert der Variablen zu erhalten, verwendet:

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

Wenn Variablen mit dem Befehl SET erstellt werden, werden die Variablennamen zwangsweise in Großbuchstaben geschrieben. Die Funktionen GETVARIABLE und SESSION_CONTEXT müssen die Großbuchstabenversion des Funktionsnamens übergeben. Die Notation „$“ funktioniert sowohl mit groß- als auch mit kleingeschriebenen Variablennamen.

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