类别:

上下文函数 (会话对象)

CURRENT_SECONDARY_ROLES

返回当前会话使用的 次要角色

要为会话激活一组不同的辅助角色,请执行 USE SECONDARY ROLES 命令。

语法

CURRENT_SECONDARY_ROLES()
Copy

实参

无。

返回

返回一个字符串 (VARCHAR),它是一个包含以下名称/值对的 JSON 编码对象:

roles

包含已激活的辅助角色的列表。此列表仅包括直接授予用户的角色;不列出这些角色层次结构中较低的角色。

value

包含所请求的辅助角色的列表,这些辅助角色是用当前用户的 DEFAULT_SECONDARY_ROLES 属性或 USE SECONDARY ROLES 命令发起请求。

使用说明

允许向共享授予对包含 CURRENT_SECONDARY_ROLES 的安全 UDF 或安全视图的访问权限。当从数据共享使用者账户访问安全 UDF 或安全视图时,CURRENT_SECONDARY_ROLES 始终返回一个 NULL 值。

示例

当前用户拥有 DEFAULT_SECONDARY_ROLES=('ALL')。当前用户获授予自定义角色 role1role2role3,还作为辅助角色处于活动状态:

SELECT CURRENT_SECONDARY_ROLES();
Copy
+------------------------------------------------------+
|           CURRENT_SECONDARY_ROLES()                  |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"}          |
+------------------------------------------------------+
语言: 中文