0

我有两个用户,USER1并且USER2. USER1有特权create tableUSER2也没有这个特权。

USER1已创建一个名为的表EMPLOYEE并授予该select表的特权USER2

======使用 USER1 凭据=======

1)创建表 -

CREATE TABLE EMPLOYEE
(
   EMP_ID NUMBER,
   EMP_NAME VARCHAR2 (20 BYTE)
);

2)授予user2权限

GRANT SELECT ON EMPLOYEE TO USER2;

======使用 USER2 凭据=======

现在我想使用凭据访问EMPLOYEE表:USER2

SELECT * from EMPLOYEE

但它给出了错误:

ORA-00942: table or view does not exist

请告诉我我在这里做错了什么?

4

1 回答 1

2

试试这个

SELECT * from USER1.EMPLOYEE;

如果 EMPLOYEE 表不存在公共同义词,则可能会发生这种情况。所以你需要使用 owner.object 来引用

如果没有得到结果,请发布结果

SELECT
      OWNER,
      TABLE_NAME
FROM
      ALL_TABLES
WHERE
      TABLE_NAME IN ('EMPLOYEE');
于 2013-09-25T08:07:03.517 回答