2012-10-01 36 views
1

當我創建一個表像這樣發生:錯誤「%S:無效識別符」時我在Oracle中創建一個表DB

create table DBDI_HIREDETAIL(
HireID int not null, 
EquipID int not null, 
Quantity int, 
TotalFee float, 
Comment varchar(200) 
); 

該錯誤發生這樣的:

Error at Command Line: "TotalFee float" Error report: SQL Error: ORA-00904: : invalid identifier 00904. 00000 - "%s: invalid identifier"

我不不明白爲什麼我的代碼有錯誤,似乎沒有問題。

+0

@Satya,燁:http://docs.oracle.com/cd/E11882_01/server .112/e26088/sql_elements001.htm#SQLRF50981 – Ben

回答

5

COMMENT是Oracle中的一個保留字;它用於將comments添加到數據字典中。您應該避免將其用作列名稱。

SQL> create table a (comment number); 
create table a (comment number) 
       * 
ERROR at line 1: 
ORA-00904: : invalid identifier 

如果你真的使用你這個列名都引用它,即"COMMENT"

SQL> create table a ("COMMENT" number); 

Table created. 

我建議你不這樣做,你要引用的列到處。

+0

非常感謝你,它的工作原理:),我是Oracle DB的新手,我試圖將符號「[]」包含爲「[Comment]」,因爲我儘管它與MS SQL服務器相同,但它不起作用。 – user1712088

+0

沒問題@ user1712088!如果您爲列提供了不同的名稱,而不是引用列名,那麼您的生活將會變得更加輕鬆。如果你引用它,你必須確保它每次都是相同的;如果你稱之爲「評論」或其他類似的東西,你可以節省很多麻煩。 – Ben

1

這是因爲評論是在SQL中的保留字 - 使用其他列名(如HIREDETAIL_COMMENT)代替:

create table DBDI_HIREDETAIL(
    HireID int not null, 
    EquipID int not null, 
    Quantity int, 
    TotalFee float, 
    HireDetail_Comment varchar(200) 
); 
相關問題