将权限授予角色

您可将表级和例程级访问权限授予角色,如果您有权限来将这些相同的权限授予登录名或 PUBLIC 的话。您还可将类型级权限授予角色。角色不可持有数据库级权限。

重要: 用户定义的角色的范围(以及 GRANT 语句分配给该角色的自主访问权限的范围)为当前数据库。当 GRANT DEFAULT ROLE 或 SET ROLE 语句激活角色时,该角色及其权限仅在当前数据库生效。作为安全预防措施,用户仅从角色获得的自主访问权限,不可通过视图或通过触发器的动作提供对当前数据库之外的表的访问。
与授予用户相比,给角色授予权限的语法受到更多限制:
此样例将 supplier 表上的 Insert 权限授予角色 payables
GRANT INSERT ON supplier TO payables;

已经被授予 payables 角色的任何用户,以及通过发出 SET ROLE 语句成功地激活它的用户,现在可插入行到 supplier 内。