使用 DROP ROLE 语句从数据库中删除用户定义的角色。
该语句是 SQL ANSI/ISO 标准的扩展。
DBA 或者用 WITH GRANT OPTION 关键字授予角色的用户可以发出 DROP ROLE 语句。(如 user 名称一样,role 是授权标识而不是数据库对象,因为 role 没有所有者。)
如果您包含了可选的 IF EXISTS 关键字,则如果未在当前数据库中注册指定的名称的角色 ,则数据库不执行任何操作(而不是向应用程序发送异常)。
在您删除角色后,没有用户可以授权或启用已删除的角色,而且当前角色被删除后,任何被指定了该角色的用户将失去它的特权(如表级别特权或例程级别特权)。除非单独对 PUBLIC 或用户授予相同的权限。如果已删除的角色时用户的缺省角色,则该用户的缺省角色变成 NULL。
DROP ROLE engineer;
您不能使用 DROP ROLE 语句删除内置的角色,例如 EXTEND 或 GBase 8s 的 DBSECADM 角色。