我对Oracle SQL有以下奇怪的问题。我有一个名为schema_version的表,但我不能对它进行简单的选择:
> SELECT * FROM schema_version;
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Error at Line: 1 Column: 15
现在,如果我尝试运行相同的查询,但这次用双引号围绕表名,一切似乎运行良好:
> SELECT * FROM "schema_version";
< results are shown >
从我读过的内容https://stackoverflow.com/a/7425931/130758我应该没有使用双引号。我可能缺少什么?感谢
答案 0 :(得分:5)
如果表格是
CREATE TABLE "schema_version" (...)
其名称以精确(较低)的形式存储在目录中。当您引用未加引号的名称时:
SELECT * FROM schema_version;
默认情况下,名称将转换为大写,因此无法找到该表。当您引用引用的名称时:
SELECT * FROM "schema_version";
表名按原样使用(小写)并与目录中的名称相匹配。