RDB$GET_CONTEXT()
DSQL, PSQL
RDB$GET_CONTEXT('<namespace>', 'varname')
<namespace> ::= SYSTEM | DDL_TRIGGER | USER_SESSION | USER_TRANSACTION
| Paramètre | Description |
|---|---|
namespace |
Namespace. |
varname |
Le nom de la variable.Sensible à la casse.La longueur maximale est de 80 octets. |
VARCHAR(255) CHARACTER SET NONE
La fonction RDB$GET_CONTEXT renvoie la valeur d’une variable contextuelle de l’un des espaces de noms.
Les espaces de noms suivants existent actuellement :
-
SYSTEM— fournit un accès aux variables du contexte système. Ces variables sont en lecture seule ; -
USER_SESSION— fournit un accès aux variables de contexte utilisateur définies via la fonctionRDB$SET_CONTEXT. Les variables existent pour la durée de la connexion ; -
USER_TRANSACTION— Fournit un accès aux variables de contexte utilisateur définies via la fonctionRDB$SET_CONTEXT. Les variables existent pendant la transaction ; -
DL_TRIGGER— fournit un accès aux variables de contexte du système disponibles uniquement pendant l’exécution du trigger DDL. Ces variables sont en lecture seule.
Les espaces de noms USER_SESSION et USER_TRANSACTION sont initialement vides et l’utilisateur crée les variables et les remplit avec la fonction RDB$SET_CONTEXT.
|
Note
|
Pour éviter les attaques DoS, il y a une limite de 1000 variables dans un "espace de noms". |
Si la variable demandée par la fonction existe dans l’espace de noms, elle est retournée sous la forme d’une chaîne VARCHAR(255) CHARACTER SET NONE. Si une variable inexistante dans l’espace de noms SYSTEM est référencée, il y a une erreur si cela se produit dans les espaces de noms USER_SESSION ou USER_TRANSACTION - la fonction retourne NULL.