DB2 IBM每次我在我的数据库中创建一个视图时,权限仅限于创建的用户,我想成为每个人

时间:2012-04-05 11:10:40

标签: database permissions db2

DB2 IBM每次我在我的数据库中创建一个视图时,权限仅限于创建的用户,我想要适合所有人:

 create view stkqry.aaa as SELECT ... from ...

现在这个“aaa”受到保护。我想默认为大家提供..怎么办?感谢

1 个答案:

答案 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'