我在oracle中有一个架构,我有一些表,让我们说Table1(我确定它存在)
当我使用相同 架构查询表格时:
select * from Table1;
我有错误"表格或视图没有退出"
我怀疑与表空间有关的东西......因为当我创建用户时
CREATE USER MyUser IDENTIFIED BY password DEFAULT TABLESPACE MyTableSpace;
我设置了一个不同的默认表空间。
我试过
select * from MyTableSpace.Table1;
select * from MyUser.Table1;
但那是不成功的。
有人有想法吗?
感谢。
答案 0 :(得分:-1)
如果我理解正确 - 你有两个用户(方案)-User1,User2。
您以User1身份登录SQL Developer,然后创建了Table1。
然后以User2身份登录SQL Developer并尝试执行select * from Table1
和select * 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;