DB2 IBM每次我在我的数据库中创建一个视图时,权限仅限于创建的用户,我想要适合所有人:
create view stkqry.aaa as SELECT ... from ...
现在这个“aaa”受到保护。我想默认为大家提供..怎么办?感谢
答案 0 :(得分:1)
(这个答案假设您使用的是DB2 for Linux / Unix / Windows)
您必须使用GRANT
为视图分配特殊的AuthID“PUBLIC”(所有人)权限。
GRANT SELECT ON stkqry.aaa TO PUBLIC
我认为没有办法自动将所有视图标记为公共可读,但如果您需要返回并标记所有视图,则可以使用类似的方法为您生成语句:
SELECT 'GRANT SELECT ON ' ||
TRIM(VIEWSCHEMA) || '.' ||
TRIM(VIEWNAME) || ' TO PUBLIC'
FROM SYSCAT.VIEWS
WHERE DEFINER <> 'SYSIBM'