日期:2014-05-17  浏览次数:21386 次

ORA-00942: table or view does not exist
SQL code

SQL> select * from books;
select * from books
              *
ERROR at line 1:
ORA-00942: table or view does not exist

我明明就是用scott登陆的啊!

------解决方案--------------------
1.你查询的时候在表名前加表空间名:表空间名.表名
2.如果以上方法不行,肯定是授权不够了
------解决方案--------------------
select table_name from user_tables where lower(table_name)='books'

看有没有记录并注意大小写。

如果存在小写,则 select * from "出来的结果,大小写一致"
------解决方案--------------------
1.检查表名是否写错了
2.检查该用户下是否存在books表
3.检查是否有权限
------解决方案--------------------
show user
查看当前是以哪个用户登录的

conn / as sysdba 以SYS用户登录进数据库

select owner,table_name from all_tables where table_name='BOOKS';
查看OWNER字段是谁 也就是这个表的所有者

假设所有者为yuandan
则进行如下查询
select * from yuandan.books