WITH GRANT OPTION 关键字将权限或角色传递给 user,随同将相同的权限或角色授予其他用户的权利。
请您创建以您开头的权限链,并扩展至 user 以及 user 随后将授予权限的权利传递给的任何用户。如果您包括 WITH GRANT OPTION,则可不再控制权限的分发。
GRANT ALL ON cust_seq TO mark WITH GRANT OPTION;
如果您从 user 将使用 WITH GRANT OPTION 授予的权限取消,则切断该权限链。即当您从 user 取消权限时,自动地取消了从 user 或从 user 创建的链获取了权限的所有用户的权限(除非其他用户给 user、或从 user 获得授权的用户授予了相同的权限集)。
REVOKE ALL ON items FROM PUBLIC; GRANT SELECT, UPDATE ON items TO mary WITH GRANT OPTION;
GRANT SELECT, UPDATE ON items TO cathy; GRANT SELECT ON items TO paul;
REVOKE SELECT, UPDATE ON items FROM mary;
此单一语句有效地取消用户 mary、cathy 和 paul 对 items 表的所有权限。如果您想要与另一用户创建权限链作为权限源,请使用 AS grantor 子句。
在 GBase 8s 中,WITH GRANT OPTION 关键字仅对用户有效。如果将角色作为权限或另一角色的被授权者,则为无效。您不可在语句中指定 WITH GRANT OPTION 给 PUBLIC 组授予权限。
“数据库服务器管理员”不可在 GRANT EXTEND 或 GRANT DBSECADM 语句中包括 WITH GRANT OPTION 关键字。DBSA 不可将授予内建的 EXTEND 或 DBSECADM 角色的权限分派给另一用户。如果多个用户需要这些权限,则应在安装数据库服务器时将他们包括在 DBSA 组中。
除了 GRANT DBSECADM 语句之外,GRANT 语句的其他安全管理选项都不支持 WITH GRANT OPTION 关键字。要获取关于这些语句及其语法的详细信息,请参阅 安全管理选项。