我有一个问题。为什么我的Oracle Express Edition需要双引号表名称:
不工作选择:
select * from table
工作选择:
select * from "table"
感谢您对我的帖子进行编辑的答案和帮助。我很困惑如何命名这个案例。
答案 0 :(得分:4)
只有在您使用的名称是关键字(,您的示例 - table
处于此情况)或者您想要包含特殊字符或非字母数字字符(例如"Multi word table name"
)。
“_中包含的名称区分大小写。
答案 1 :(得分:0)
仅使用双引号: 从“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