FirebirdSQL logo

USER

Disponible en

DSQL, PSQL

Syntaxe
USER
type de résultat de retour

VARCHAR(63)

La variable USER contient le nom de l’utilisateur de la base de données actuellement connecté.

Example 1. Utilisation d’une variable USER
NEW.ADDED_BY = USER;

CURRENT_ROLE

Disponible en

DSQL, PSQL

Syntaxe
CURRENT_ROLE
type de résultat de retour

VARCHAR(63)

Une variable de contexte CURRENT_ROLE contenant le nom du rôle qui a été spécifié lors de la connexion à la base de données, ou le rôle défini avec l’opérateur SET ROLE.Dans le cas où une connexion s’est produite sans spécifier de rôle, et que le rôle n’a pas été spécifié plus tard en utilisant l’opérateur SET ROLE, la variable prend la valeur NONE.

CURRENT_ROLE représente toujours un rôle valide ou NONE. Si un utilisateur se connecte avec un rôle inexistant,le noyau le réinitialise silencieusement à NONE sans retourner d’erreur.

Note

La variable de contexte CURRENT_ROLE ne contient que le nom du rôle explicitement défini (à l’ouverture de session ou avec SET ROLE), les rôles implicitement définis (émis par l’instruction GRANT utilisant le mot-clé DEFAULT) ne seront pas inclus. Pour savoir si l’utilisateur actuel utilise un rôle implicitement défini, utilisez la fonction du système RDB$ROLE_IN_USE().

Example 1. Utilisation d’une variable CURRENT_ROLE
SELECT CURRENT_ROLE FROM RDB$DATABASE
Note

La même valeur sera également disponible en tant que résultat de la requête :

SELECT RDB$GET_CONTEXT ('SYSTEM', 'CURRENT_ROLE')
FROM RDB$DATABASE;