1

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

我错过了什么?

4

1 回答 1

1

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

select * from A.test_pk

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

于 2013-03-12T03:22:11.890 回答