2012-04-20 16 views
-1

我有個問題。爲什麼我的Oracle快捷版需要雙引號的表名:未加引號的表名不起作用

不工作選擇:

select * from table 

工作選擇:

select * from "table" 

謝謝解答和編輯我的職務幫助。我很困惑如何命名這個案例。

+0

我明白英語不是你的母語,但你可以付出一些努力使問題可讀。你確切的問題是什麼? '從桌子上選擇*是否工作? – 2012-04-20 08:11:02

+0

是select * from table is not working;但選擇*從「表」是... – Endiss 2012-04-20 08:19:39

+3

這個答案應該可以幫助你:http://stackoverflow.com/questions/563090/oracle-what-exactly-do-quotation-marks-around-the-table-name-做 – Ollie 2012-04-20 08:29:06

回答

4

它需要雙引號的名字只有在情況下,你所使用的名字爲關鍵字(和你的榜樣 - table是在這種情況下),或者如果您要包含特殊字符或非字母數字字符(例如"Multi word table name") 。

封閉在名字「是大小寫敏感的

0

只能使用雙引號: SELECT * FROM‘表’;

它的作品沒有被創造只是名稱的報價爲大寫默認情況下所有不帶引號的。名稱存儲在大寫

例如:

CREATE TABLE "T1" (x number); 

-- That works: 
select * from "T1"; 

-- that works too: 
select * from t1; 

-- that works too: 
select * from T1; 

表 - 是一個關鍵字,所以你可以使用它。沒有引號,即使你在創建語句中使用大寫字母的名稱:

CREATE TABLE "TABLE" (x number); 

select * from table; 

ORA-00906: missing left parenthesis 
+0

我建議避免使用關鍵字的數據庫,表和列名稱,然後問題不會發生:) – Ren 2013-04-02 09:55:55

+0

正確 - 良好的建議,但它不與命名規則相矛盾,如果使用雙引號。 – Rusty 2013-12-16 12:26:37