Oracle ORA-00942: 当表或视图存在时却显示不存在

4

我正在尝试熟悉Oracle,安装了Express版本,并通过第三方程序创建了一些表。当我登录到sqlplus时,不能简单地使用SELECT * FROM table....

SQL> SELECT * FROM tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
ZIP                            TABLE
Country                        TABLE
City                           TABLE

但当我尝试选择全部时它运行:
SQL> SELECT * FROM Country;
SELECT * FROM Country
              *
ERROR at line 1:
ORA-00942: table or view does not exist

我不知道为什么...


1
当您使用第三方程序时,请使用大写输入表名。它将以Oracle默认大小写形式输入标识符到数据字典中,您应该能够使用未加引号的标识符(无需通过使用双引号来强制区分大小写)来引用表。 - MT0
天才 :) 它正在工作。 - Thou
1个回答

8
似乎大小写很重要。下面是结果:
select * from "Country";

看起来有人使用双引号和混合大小写(在 Oracle 中是个坏主意,因为你总是必须使用双引号引用它,而且永远不能正确拼写它)创建了表。


快速解决了 :O 我猜问题很琐碎,但我没想到程序会用双引号创建表。 - Thou
没错,为什么有些人要把他们自己(和我们)的生活搞得比本来应该的更复杂,这确实是个谜。 - Littlefoot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接