Oracle 不带引号的表名不起作用
我有个问题。为什么我的Oracle Express Edition需要双引号的表名: 不工作选择:Oracle 不带引号的表名不起作用,oracle,oracle10g,Oracle,Oracle10g,我有个问题。为什么我的Oracle Express Edition需要双引号的表名: 不工作选择: select * from table select * from "table" 工作选择: select * from table select * from "table" 感谢您的回答和帮助,编辑我的文章。我不知道如何命名这个案例。只有在您使用的名称是关键字且示例-表处于这种情况下,或者如果您希望包含特殊字符或非字母数字字符(例如多字表名),才需要双引号名称 中包含的名称区分大
select * from table
select * from "table"
工作选择:
select * from table
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;
表-是一个关键字。因此,即使在create语句中使用大写名称,也可以不带引号地使用:
CREATE TABLE "TABLE" (x number);
select * from table;
ORA-00906: missing left parenthesis
我知道英语不是你的母语,但你可以努力让这个问题更具可读性。你到底有什么问题?是否从表中选择*工作?是从表中选择*不工作;但从表中选择*是……这个答案应该对你们有帮助:我试着让你们的问题更清楚。但下次别忘了在这里发布错误消息。@Ollie-很好,解释比我的好。我建议避免对数据库、表和列名使用关键字,这样问题就不会发生:正确-很好的建议,但如果使用双引号,则与命名规则不冲突。