使用 GRANT 语句来给用户和其他角色指定访问权限和角色。拥有 DBSECADM 角色的用户可使

用此语句来从基于标签的访问控制(LBAC)安全规则指定用户安全标签和豁免;

用法

GRANT 语句扩展到其他用户特定的自主访问权限或 LBAC 标签和豁免,这些通常仅归于 DBA

或对象的创建者。后续的 GRANT 语句不影响已授予用户的那些权限。

您可使用 GRANT 语句进行如下操作:

授权其他人来使用或管理您创建的数据库

允许其他人来查看、改变或删除您创建的表、同义词、视图或序列对象

允许其他人来使用数据类型或 SPL 语言,或来执行您创建的用户定义的例程(UDR)

将角色及其权限分配给用户、给 PUBLIC,或给其他角色

将缺省角色分配给一个或多个用户或给 PUBLIC

如果您具有 DBSECADM 角色,则从 LBAC 安全策略的规则将 LBAC 安全标签或豁免

分配给用户,

您可将权限授予先前创建的角色或授予内嵌角色。您可将角色授予 PUBLIC、授予个别用户,或授

予另一角色。

如果您用引号括起 grantor、 role 或 user,则名称是区分大小写的,并完全按您输入的形式存

储。在符合 ANSI 的数据库中,如果您不使用引号做定界符,则以大写字母存储该名称。

仅在 Windows 上,数据库服务器不支持包含多于 20 字符的 user 名称。

您授予的权限保持有效直到您以 REVOKE 语句取消为止。仅权限的 grantor 可调用那个权限。

grantor 是发出 GRANT 语句的人,除非 AS grantor 子句将调用那些权限的权利转给其他用户。

仅对象的所有者或以 WITH GRANT OPTION 关键字明确地授予权限的用户可授予对象的权限。有

DBA 权限还不够。然而,作为 DBA,您可通过使用 AS grantor 子句代表另一用户授予权限。对

于数据库对象的权限,其所有者不是操作系统识别的用户(例如,用户 gbasedbt),AS grantor

子句是有用的。

关键字 PUBLIC 将特定的的权限或角色扩展到 PUBLIC 组或连接到该数据库的所有用户。如果您

想要将 PUBLIC 已持有的权限仅限制到用户的子集,则必须首先从 PUBLIC 取消那些权限。

要为已由表达式分段的表的一个或多个分段授予权限,请参阅 GRANT FRAGMENT 语句