FirebirdSQL logo

USER

Доступно в

DSQL, PSQL

Синтаксис
USER
Тип возвращаемого результата

VARCHAR(63)

Переменная USER содержит имя текущего подключенного пользователя базы данных.

Example 1. Использование переменной USER
NEW.ADDED_BY = USER;

CURRENT_ROLE

Доступно в

DSQL, PSQL

Синтаксис
CURRENT_ROLE
Тип возвращаемого результата

VARCHAR(63)

Контекстная переменная CURRENT_ROLE, содержащая имя роли, которая была указана при подключении к базе данных, илироль установленную с помощью оператора SET ROLE. В случае если произошло подключение без указания роли,и роль не была указана позже с помощью оператора SET ROLE, переменная принимает значение NONE.

CURRENT_ROLE всегда представляет допустимую роль или NONE. Если пользователь подключается с несуществующей ролью,ядро молча сбрасывает её на NONE, не возвращая ошибку.

Note

Контекстная переменная CURRENT_ROLE содержит только имя явно указанной роли (при входе в систему или с помощью SET ROLE), неявно определяемые роли (выданные оператором GRANT с использованием ключевого слова DEFAULT) не будут попадать в неё.Для того чтобы узнать, используется ли текущим пользователем неявно указанная роль, используйте системнуюфункцию RDB$ROLE_IN_USE().

Example 1. Использование переменной CURRENT_ROLE
SELECT CURRENT_ROLE FROM RDB$DATABASE
Note

Такое же значение можно будет получить и в результате выполнения запроса:

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