例子:
A用戶 下有table TabA
A1 用戶建立view (V_TabA) , view中是引用A 用戶下的TabA .
A2 用戶要 select A1 用户下的这个view .
采用直接赋予权限的方式,很可能会碰到错误 ORA-01720: grant option does not exist for ......
一般采取的方法是 :
1. 以基表用户A 登入(如果多个基表,那么多次运行)
sql > connect A/A
sql > grant select on TabA to A1 with grant option ;
2. 以view 的拥有用户登入
sql> connect A1/A1
sql> grant select on A1.V_TabA to A2 ;
3. OK, 以 A2 登入即可以访问view了
sql > connect A2/A2
sql> select * from A1.V_TabA ;
本文详细介绍了如何在Oracle数据库中正确地为不同用户分配表和视图的查询权限,特别是通过基表用户授权再由视图拥有者进行权限传递的过程。
2262

被折叠的 条评论
为什么被折叠?



