- Catégories :
Fonctions contextuelles (Session)
GETVARIABLE¶
Renvoie la valeur associée à un nom de variable SQL.
- Voir aussi :
Syntaxe¶
GETVARIABLE( '<name>' )
Arguments¶
name
Nom de la variable SQL.
Vous devez spécifier le nom en majuscules, même si vous avez utilisé des minuscules lors de la définition de la variable.
Renvoie¶
Le type de données de la valeur renvoyée est VARCHAR.
Notes sur l’utilisation¶
Cette fonction utilise le cache de résultats de la session actuelle si vous appelez la fonction plus d’une fois dans la même session. Le cache de résultats s’applique partout où vous appelez cette fonction, y compris dans le corps des objets de la politique, comme une politique d’accès aux lignes.
Exemples¶
Cet exemple montre comment utiliser cette fonction et d’autres moyens d’obtenir la valeur de la variable :
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 | +----------------------------------+--------------------------------------+-------------------------+
Lorsque des variables sont créées à l’aide de la commande SET, les noms des variables sont obligatoirement en majuscules. Les fonctions GETVARIABLE et SESSION_CONTEXT doivent transmettre la version en majuscules du nom de la fonction. La notation « $ » fonctionne avec des noms de variables en majuscules ou en minuscules.
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 | +----------------------+----------------------+--------------------------+--------------------------+---------+---------+