当我运行此查询以查看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中导致此错误的原因是什么?
答案 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