Nim*_*rod 16
你不能.
您可以做的最好的事情是为模式b中的每个表授予用户"选择"权限.
此查询将生成您需要的命令:
select 'grant select on A.'||table_name||' to B;'
from dba_Tables
where owner = 'A';
Run Code Online (Sandbox Code Playgroud)
这样的问题是,如果你想要将新表添加到A,那么你必须单独授予它的权限.它不会自动执行..
您可能会发现您无权访问dba_tables,在拥有架构(a)中运行的以下代码块将向所有表授予对用户b的权限
BEGIN
FOR t IN (SELECT * FROM user_tables)
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || t.table_name || ' TO b';
END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)