我正在寻找一种将一个用户的所有表上的某些权利(比如 SELECT)授予其他用户的方法。像这样的东西:
GRANT SELECT ON Username1.* to Username2
重要的条件是我不仅需要授予对所有现有表的权限,而且我还希望默认情况下将由 Username1创建的所有表都应授予对 Username2 的对应权限
我所做的是创建一个外部脚本来选择由 Username1 创建的所有表:
SELECT table_name FROM systable WHERE creator IN (SELECT user_id from sysuser WHERE username='Username1'))
并为它们中的每一个生成 GRANT 语句。
但是,我需要在创建新表后立即执行该脚本。从数据库中获得授权逻辑并不是很优雅。我希望在数据库中有某种触发器,但 Sybase IQ 不支持触发器。
有人知道如何以优雅的方式解决问题吗?