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