撤销用户或角色中的角色
您可以通过 REVOKE 语句将角色从用户或其他角色中撤销。
当前支持将一个角色从多个用户或角色中撤销,也支持将多个角色从一个用户或角色中撤销,还支持将多个角色从多个用户或角色中撤销。
前提条件
撤销角色时,当前用户必须拥有被撤销的角色,并且拥有 ADMIN OPTION 权限,才能撤销成功。查看当前用户或角色所拥有的角色的详细操作,请参见 查看角色。
注意事项
执行 REVOKE 语句将角色从用户中撤销时,不会对当前登录的用户立即生效。
操作示例
撤销用户中的角色
-
撤销用户
test1中的employee角色REVOKE employee FROM test1; -
撤销用户
test1和test2中的employee角色REVOKE employee FROM test1,test2 IGNORE UNKNOWN USER;本示例中,
IGNORE UNKNOWN USER子句用于检查待撤销角色的用户是否存在。如果不加IGNORE UNKNOWN USER子句,只要test1和test2用户中有一个不存在,系统就会报错;如果加了IGNORE UNKNOWN USER子句,系统会提示一条 Warning 信息。无论是否添加
IGNORE UNKNOWN USER子句,只要test1和test2用户中有一个不存在,撤销角色的操作就会失败。 -
撤销用户
test1中的employee和developer角色REVOKE IF EXISTS employee,developer FROM test1 IGNORE UNKNOWN USER;本示例中,
IF EXISTS子句用于检查待撤销的角色是否存在。如果不加IF EXISTS子句,只要employee和developer角色中有一个不存在,系统就会报错;如果加了IF NOT EXISTS子句,系统会提示一条 Warning 信息。无论是否添加
IF EXISTS子句,只要employee和developer角色中有一个不存在,撤销角色的操作就会失败。
撤销角色中的角色
-
撤销
role1角色中的employee角色REVOKE employee FROM role1; -
撤销
role1和role2角色中的employee角色REVOKE IF EXISTS employee FROM role1,role2;