Oracle 不带引号的表名不起作用

Oracle 不带引号的表名不起作用,oracle,oracle10g,Oracle,Oracle10g,我有个问题。为什么我的Oracle Express Edition需要双引号的表名: 不工作选择: select * from table select * from "table" 工作选择: select * from table select * from "table" 感谢您的回答和帮助,编辑我的文章。我不知道如何命名这个案例。只有在您使用的名称是关键字且示例-表处于这种情况下,或者如果您希望包含特殊字符或非字母数字字符(例如多字表名),才需要双引号名称 中包含的名称区分大

我有个问题。为什么我的Oracle Express Edition需要双引号的表名:

不工作选择:

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-很好,解释比我的好。我建议避免对数据库、表和列名使用关键字,这样问题就不会发生:正确-很好的建议,但如果使用双引号,则与命名规则不冲突。