Oracle 11g错误:现有表上的Ora-00942

时间:2013-04-07 20:02:17

标签: oracle11g sqlplus plsqldeveloper

当我运行此查询以查看PL / SQL Developer中用户Scott可用的表时,我得到11个表,包括表EMP。

Select Table_Name
From All_Tables
Where Owner = 'SCOTT';

但是当我尝试在PL / SQL Developer中使用select all这样访问table emp时:

select * from emp;

我得到0ra-00942表或视图不存在错误。但是在同一模式中的SQL * PLUS中,相同的select语句给出了表emp的内容。 PL / SQL Developer中导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

使用PL / SQL Developer时,您使用什么用户连接数据库?假设您使用的是SCOTT以外的用户,则可能需要使用完全限定名称

SELECT *
  FROM scott.emp

您还可以在使用的任何模式中创建同义词

CREATE SYNONYM emp
   FOR scott.emp

然后在查询中使用同义词

-- This resolves to the private synonym that you just created
SELECT *
  FROM emp