使用不同的模式不存在表/视图

时间:2013-03-12 02:52:03

标签: sql database-schema

1)在架构A下创建一个表。

create table test_PK (
     stdid INT NOT NULL,
     stdname VARCHAR(10),
     PRIMARY KEY(stdid)
     );

insert into test_pk values (10,'Bob');  //Here works fine

2)执行:

GRANT SELECT,INSERT,DELETE ON TEST_PK TO B;  //works fine

3)要使用模式B登录数据库,在执行select * from test_pk;时会抱怨:

  

ORA-00942:表格或视图不存在
  00942. 00000 - “表或视图不存在”
  *原因:
  *操作:
  行错误:12列:14

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我猜您需要在使用其他用户登录时指定架构:

select * from A.test_pk

这篇文章也可能有所帮助:ORA-00942: Can select from "schema.table" but not "table"? - 您可以创建一个同义词来绕过必须在SELECT中指定架构。