使用 REVOKE 语句来取消由用户、由角色或由 PUBLIC 持有的访问权限或角色,或从安全策略的规则取消用户安全标签或豁免。
语法
元素 |
描述 |
限制 |
语法 |
revoker
|
要取消的权限的授予者的授权标识符 |
必须为指定的权限的授予者 |
所有者名称
|
role
|
您从其取消另一角色的角色 |
必须存在 |
所有者名称
|
user
|
您取消其角色(或缺省的角色)的用户 |
必须存在 |
所有者名称
|
用法
要取消已经通过表达式分片的表的一个或多个分片上的权限,请参阅 REVOKE FRAGMENT 语句。
对于您尝试取消一些数据库对象上的权限,如果任何下列条件为真,则您可取消权限:
- 您授予它们,且不指定另一用户作为授予者。
- GRANT 语句指定了您作为授予者。
- 您正在从 PUBLIC 对您拥有的对象取消权限,且当您创建该对象时缺省地授予了那些权限。
- 您有数据库级 DBA 权限且您在 AS 子句中指定了该权限的授予者的用户名称。
REVOKE 语句可取消用户,或 PUBLIC,或角色当前持有的任何下列访问权限或角色:
- 对数据库的权限(但角色不可持有数据库级权限)
- 对表、同义词、视图或序列对象的权限
- 对用户定义的数据类型(UDT)、用户定义的例程(UDR),或对 SPL 语言的权限
- 非缺省的角色,或 PUBLIC 或用户的缺省的角色。
您不可从您自己取消权限。您不可从另一用户取消授予者状态。要取消通过 GRANT 语句的 AS grantor 子句授予给另一用户的权限,您必须有 DBA 权限,且您必须使用 AS 子句来指定作为 revoker 的用户。
如果您在引号中括起了 revoker、 role 或 user,则名称是区分大小写的,完全按照您输入的样子存储名称。在符合 ANSI 的数据库中,如果您不使用引号作为定界符,则以大写字母存储该名称。