PolarDB PostgreSQL版(兼容Oracle)支持使用DBMS_SESSION.SET_ROLE存储过程。

函数/存储过程

函数/存储过程返回类型说明
SET_ROLE(role_cmd)N/A执行SET_ROLE语句,后跟role_cmd中指定的字符串值。

与Oracle相比,PolarDB PostgreSQL版(兼容Oracle)的DBMS_SESSION实施只是部分实施。仅支持DBMS_SESSION.SET_ROLE。

SET_ROLE

SET_ROLE存储过程将当前会话用户设置为role_cmd中指定的角色。调用SET_ROLE存储过程之后,当前会话将使用分配到指定角色的权限。该存储过程的语法为:

SET_ROLE(role_cmd)

SET_ROLE存储过程将role_cmd指定的值附加到SET_ROLE语句,然后调用该语句。

参数

参数描述
role_cmd以字符串的格式指定角色名称。

示例

以下示例中,SET_ROLE存储过程将调用SET_ROLE命令,将当前会话用户的身份设置为manager:

exec DBMS_SESSION.SET_ROLE('manager');