- 类别:
上下文函数 (会话对象)
CURRENT_SECONDARY_ROLES¶
返回当前会话使用的 次要角色。
要为会话激活一组不同的辅助角色,请执行 USE SECONDARY ROLES 命令。
语法¶
CURRENT_SECONDARY_ROLES()
实参¶
无。
返回¶
返回一个字符串 (VARCHAR),它是一个包含以下名称/值对的 JSON 编码对象:
roles
包含已激活的辅助角色的列表。此列表仅包括直接授予用户的角色;不列出这些角色层次结构中较低的角色。
value
包含所请求的辅助角色的列表,这些辅助角色是用当前用户的
DEFAULT_SECONDARY_ROLES
属性或 USE SECONDARY ROLES 命令发起请求。
使用说明¶
允许向共享授予对包含 CURRENT_SECONDARY_ROLES 的安全 UDF 或安全视图的访问权限。当从数据共享使用者账户访问安全 UDF 或安全视图时,CURRENT_SECONDARY_ROLES 始终返回一个 NULL 值。
示例¶
当前用户拥有 DEFAULT_SECONDARY_ROLES=('ALL')
。当前用户获授予自定义角色 role1
、role2
或 role3
,还作为辅助角色处于活动状态:
SELECT CURRENT_SECONDARY_ROLES();
+------------------------------------------------------+
| CURRENT_SECONDARY_ROLES() |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"} |
+------------------------------------------------------+