我有个问题。为什么我的 Oracle Express Edition 需要双引号表名:
不工作选择:
select * from table
工作选择:
select * from "table"
感谢您的回答和帮助编辑我的帖子。我很困惑如何命名这个案例。
仅当您使用的名称是关键字(并且您的示例 -table
在这种情况下)或者您想要包含特殊字符或非字母数字字符(例如)时,它才需要双引号名称"Multi word table name"
。
" 中包含的名称区分大小写。
仅使用双引号:select * from "table";
它在没有引号的情况下工作,只有创建的名称是大写的。默认情况下,所有未加引号的名称都以大写形式存储。
例如:
CREATE TABLE "T1" (x number);
-- That works:
select * from "T1";
-- that works too:
select * from t1;
-- that works too:
select * from T1;
TABLE - 是一个关键字。因此,即使您在 create 语句中使用大写名称,也可以不使用引号:
CREATE TABLE "TABLE" (x number);
select * from table;
ORA-00906: missing left parenthesis