ORA-00942:表或视图不存在 - 即使表存在且选择查询运行正常

时间:2017-08-31 12:54:08

标签: oracle oracle11g

当我尝试在存储过程中使用该表时,我收到此错误。 当我从表中选择*时,我得到结果。但是当我把它放在存储过程(与其他表连接)并编译时,我得到错误, 错误(269,17):PL / SQL:ORA-00942:表或视图不存在

有关为何发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:1)

要在另一个模式拥有的存储过程中使用一个模式中的表,该过程的模式需要在表上直接授予:

grant select on ALPS.CUST_LOOKUP_DTL to myschema;

对架构所具有的角色的授予不足

grant select on ALPS.CUST_LOOKUP_DTL to some_role;
grant some_role to myschema;

在这种情况下,myschema可以从表中选择,但其程序不能。

答案 1 :(得分:0)

执行存储过程中的操作会发生什么?您提到了一个连接表 - 与表中的select *不同。您可能必须按模式名称完全限定表名。

从schema.table中选择*;