我在windows下安装了ORACLE DB
增加了一个用户ABC,默认表空间为DEF
DEF表空间下有表 users我用ABC连到sqlplus
但是用
select * from users;
报“ORA--00942表或试图不存在”错误!除非使用
select * from DEF.users;这个问题不知道如何解决,我以前没有碰到过。oracle也是略懂。
增加了一个用户ABC,默认表空间为DEF
DEF表空间下有表 users我用ABC连到sqlplus
但是用
select * from users;
报“ORA--00942表或试图不存在”错误!除非使用
select * from DEF.users;这个问题不知道如何解决,我以前没有碰到过。oracle也是略懂。
建议用ABC登录,然后建立一个表,语句可参考下面的代码:CREATE TABLE T89
(
ID NUMBER(4),
NAME VARCHAR2(20),
Age NUMBER(4)
);INSERT INTO T89 VALUES(1, 'A', 20);
INSERT INTO T89 VALUES(1, 'A', 20);
INSERT INTO T89 VALUES(2, 'B', 30);
INSERT INTO T89 VALUES(2, 'B', 30);
INSERT INTO T89 VALUES(3, 'C', 40);
INSERT INTO T89 VALUES(3, 'C', 40);然后,直接执行select * from T89;可以查询到相应的记录。因为T89是ABC这个用记创建的,所以ABC可以直接访问。
你描述的情况,应该是DEF用户创建的users这个表,然后用ABC去登录做查询,当然要加限定名了。
select * all_tables where table_name='USERS';
查看OWNER是不是DEF,而不是ABC。
我试了下grant 好像不行
users是在DBF这个表空间,从你发出的错误码提示信息,应该是users表并不在ABC这个SCHEMA里。你的用户ABC要select users这个表,拥有users这个表的select权限或你的ABC用户拥有SELECT ANY TABLE的系统权限。然后
SELECT * FROM schema.users;