Oracle - 授予访问权以使用另一个模式中的一个模式的表

时间:2016-06-17 03:17:21

标签: oracle12c

我在架构A 中有表格。我在架构B 的包中创建了一个程序,用于从架构A中的表中查询数据,如下所示:

PROCEDURE GET_DATAFROM_A (....)
AS BEGIN 
execute immediate ' GRANT SELECT ON '||A||'.'||tblname||' TO B';
open PO_Cursor for 'select * from '||A||'.'||tblname;

但是当我执行它显示的程序时

  

ORA-00942:表或视图不存在

我有什么不对吗?

1 个答案:

答案 0 :(得分:0)

如果您作为架构B进行连接,则不能只说“#34;授予自己访问架构A中的表格的权限。”#34;

您正在获取mouseup,因为现在您还没有桌面权限,所以这笔资金说的是#34;我甚至不知道你在哪个桌子上谈论。"

但即使SchemaB可以看到该表,Oracle也会告知您:

ORA-00942

您需要其他用户(如SchemaA)将表格所需的权限授予SchemaB。