Тип возвращаемого результата
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;
|