- 类别:
CURRENT_AVAILABLE_ROLES¶
返回为当前用户授予的所有账户级角色的列表。该列表包含直接授予用户的所有角色,以及这些角色的层次结构中级别较低的所有角色。
语法¶
实参¶
无。
返回¶
返回一个字符串 (VARCHAR),它是可用账户级角色的 JSON-编码列表。可以将返回值传递给 PARSE_JSON 函数,以获取一个包含所有可用角色列表的 VARIANT。
使用说明¶
This function returns a list of account-level roles only when queried by a user. This function is not supported in service contexts that don't have an active user. For example, tasks are executed by a system service that is not associated with a user. Thus, when this function is queried within a task, it returns an empty list (
[]).此函数不会返回数据库角色、应用程序角色或类实例角色的名称。
此函数不会考虑会话中的角色激活。
例如,如果在 掩码策略 或 行访问策略 的条件中指定此函数,则策略可能会无意中限制访问。
如果策略条件需要角色激活和角色层次结构,请使用 IS_ROLE_IN_SESSION。
示例¶
返回授予当前用户的角色的列表:
使用 PARSE_JSON 函数返回一个 VARIANT,并使用 FLATTEN 函数获取与每个角色对应的一行: