DROP ROLE 语句

使用 DROP ROLE 语句从数据库中删除用户定义的角色。

该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
role 要删除的角色的名称 必须在本地数据库中注册,当前 role 名称用引号括起时,它是区分大小写的。 所有者名称

用法

DBA 或者用 WITH GRANT OPTION 关键字授予角色的用户可以发出 DROP ROLE 语句。(如 user 名称一样,role 是授权标识而不是数据库对象,因为 role 没有所有者。)

如果您包含了可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定的名称的角色 ,则数据库不执行任何操作(而不是向应用程序发送异常)。

在您删除角色后,没有用户可以授权或启用已删除的角色,而且当前角色被删除后,任何被指定了该角色的用户将失去它的特权(如表级别特权或例程级别特权)。除非单独对 PUBLIC 或用户授予相同的权限。如果已删除的角色时用户的缺省角色,则该用户的缺省角色变成 NULL。

以下语句删除了 engineer 角色:
DROP ROLE engineer;

您不能使用 DROP ROLE 语句删除内置的角色,例如 EXTEND 或 GBase 8s 的 DBSECADM 角色。