Oracle:表或视图不存在?

时间:2014-07-02 23:27:30

标签: oracle

我在oracle中有一个架构,我有一些表,让我们说Table1(我确定它存在)

当我使用相同 架构查询表格时:

select * from Table1; 

我有错误"表格或视图没有退出"

我怀疑与表空间有关的东西......因为当我创建用户时

CREATE USER MyUser IDENTIFIED BY password DEFAULT TABLESPACE MyTableSpace;

我设置了一个不同的默认表空间。

我试过

select * from MyTableSpace.Table1; 
select * from MyUser.Table1;  

但那是不成功的。

有人有想法吗?

感谢。

1 个答案:

答案 0 :(得分:-1)

如果我理解正确 - 你有两个用户(方案)-User1,User2。 您以User1身份登录SQL Developer,然后创建了Table1。 然后以User2身份登录SQL Developer并尝试执行select * from Table1select * from User1.Table1,但不成功。

首先,您必须在User1.Table1上向User2授予select访问权限。 为此,您必须以User1身份登录并执行

GRANT SELECT, INSERT ON Table1 TO User2;

此后将能够执行查询(当您以User2身份登录时)

select * from User1.Table1;

然后你必须创建同义词,以便不使用前缀User1。为此,请将loggin作为User2并执行

CREATE SYNONYM Table1 FOR User1.Table1;

现在您可以登录为User2并执行:

select * from User1.Table1;