SET ROLE
描述
该语句用于激活当前登录用户在当前会话(Session)中已被授予的角色。
信息
通过 SET ROLE 语句激活的角色,仅影响当前 Session,不影响之后的 Session。
语法
SET ROLE {
DEFAULT
| NONE
| ALL
| ALL EXCEPT role_name [, role_name ...]
| role_name [, role_name ...]
};
参数解释
| 参数 | 描述 |
|---|---|
| DEFAULT | 指定保持默认角色的设置。系统会根据变量 activate_all_roles_on_login 的值以及 SET DEFAULT ROLE 语句或 ALTER USER 语句设置的默认激活的角色来激活角色:
|
| NONE | 指定停用用户被授予的所有角色。 |
| ALL | 指定激活用户被授予的所有角色。 |
| ALL EXCEPT | 指定不激活用户被授予的角色中的角色。 |
| role_name | 指定角色的名称,激活多个角色时,角色名用英文逗号(,)隔开。 |
示例
-
指定在当前会话中,激活用户被授予的角色中除了角色
role001以外的其他所有角色。SET ROLE ALL EXCEPT role001; -
指定在当前会话中,激活用户的
role001和role002角色。SET ROLE role001, role002;