ORACLE数据库,我想使用用户B中的表,在用户A创建视图(VIEW),需要什么权限呢?怎么写
2条回答 默认 最新
关注
不确定你的目的是让用户A获得创建视图的权限还是让用户A能查到用户B的数据
如果只是为了查这张表里的数据,不需要做数据过滤的话,直接授权B用户的这个表给A用户查询权限,A用户就能查B用户的这个表了
grant select on B用户.表名 to A用户;
然后在A用户下执行查询时要带上用户名
select * FROM B用户.表名;
或者再建一个同义词就不需要加用户名了
create synonym A用户.表名 for B用户.表名; select * FROM 表名;
如果是只让用户A访问视图,而视图里的表都是B用户的,那么也没必要把视图建在A用户下,你可以直接把视图先建在B用户下,然后使用上面的方法授权给A查询
如果是想让用户A能自主创建视图,而且还能使用用户B的表,那么要授权A用户查询任何表的查询权限和创建任何视图的权限
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报