-1

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

不工作选择:

select * from table

工作选择:

select * from "table" 

感谢您的回答和帮助编辑我的帖子。我很困惑如何命名这个案例。

4

2 回答 2

4

仅当您使用的名称是关键字(并且您的示例 -table在这种情况下)或者您想要包含特殊字符或非字母数字字符(例如)时,它才需要双引号名称"Multi word table name"

" 中包含的名称区分大小写。

于 2012-04-20T08:38:05.180 回答
0

仅使用双引号: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
于 2013-04-02T09:36:54.350 回答