同事提了个需求,要oracle数据库中的a用户和b用户可以互相查询对方的表。
a和b用户下都有很多的表,百度了一下,没有语句是执行一次就能赋权的,好多是先生成sql语句在导出在执行。
select 'grant select on a.' || cr.table_name || ' to b;' from dba_tables where owner='a'
我的方法是用存储过程执行
declare
begin
for cr in (select table_name from dba_tables where owner='a') loop
execute immediate 'grant select on a.' || cr.table_name || ' to b';
end loop;
end;
版权声明:本文为wshicainiao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。