跳到主要内容

撤销用户或角色中的角色

您可以通过 REVOKE 语句将角色从用户或其他角色中撤销。

当前支持将一个角色从多个用户或角色中撤销,也支持将多个角色从一个用户或角色中撤销,还支持将多个角色从多个用户或角色中撤销。

前提条件

撤销角色时,当前用户必须拥有被撤销的角色,并且拥有 ADMIN OPTION 权限,才能撤销成功。查看当前用户或角色所拥有的角色的详细操作,请参见 查看角色

注意事项

执行 REVOKE 语句将角色从用户中撤销时,不会对当前登录的用户立即生效。

操作示例

撤销用户中的角色

  • 撤销用户 test1 中的 employee 角色

    REVOKE employee FROM test1;
  • 撤销用户 test1test2 中的 employee 角色

    REVOKE employee FROM test1,test2 IGNORE UNKNOWN USER;

    本示例中,IGNORE UNKNOWN USER 子句用于检查待撤销角色的用户是否存在。如果不加 IGNORE UNKNOWN USER 子句,只要 test1test2 用户中有一个不存在,系统就会报错;如果加了 IGNORE UNKNOWN USER 子句,系统会提示一条 Warning 信息。

    无论是否添加 IGNORE UNKNOWN USER 子句,只要 test1test2 用户中有一个不存在,撤销角色的操作就会失败。

  • 撤销用户 test1 中的 employeedeveloper 角色

    REVOKE IF EXISTS employee,developer FROM test1 IGNORE UNKNOWN USER;

    本示例中,IF EXISTS 子句用于检查待撤销的角色是否存在。如果不加 IF EXISTS 子句,只要 employeedeveloper 角色中有一个不存在,系统就会报错;如果加了 IF NOT EXISTS 子句,系统会提示一条 Warning 信息。

    无论是否添加 IF EXISTS 子句,只要 employeedeveloper 角色中有一个不存在,撤销角色的操作就会失败。

撤销角色中的角色

  • 撤销 role1 角色中的 employee 角色

    REVOKE employee FROM role1;
  • 撤销 role1role2 角色中的 employee 角色

    REVOKE IF EXISTS employee FROM role1,role2;

相关文档