【发布时间】:2015-10-29 08:45:40
【问题描述】:
在 oracle 11g 中,我有一个所有者架构,其中包含应用程序所需的相关表。
对于我的外部应用程序,我正在尝试创建另一个用户,该用户应该对某些表具有对上述架构的选择访问权限。 让我们调用所有者模式 A 和新模式 B
create user B identified by blah;
grant connect to B;
登录到原始模式 A 后,我运行了以下命令(对于演示,我在所有表上进行选择)
begin
FOR x IN (select * from user_tables)
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || x.table_name || ' TO some_role';
END LOOP;
end;
grant some_role to B;
如果我以用户 B 的身份登录并执行类似的查询
select count(*) from A.some_table ;
它有效。但是如果不创建公共同义词,我是否可以授予 以用户 B 身份登录时以下工作的方式?
select count(*) from some_table;
谢谢
【问题讨论】:
标签: sql oracle plsql oracle11g