2012-01-25 57 views
0

当我尝试执行Oracle SQL Developer中下面的SQL statment:SQL语句错误

CREATE TABLE Nrom1Tab (Sig TEXT NOT NULL PRIMARY KEY, 
    DocSubject TEXT, 
    DocClassification TEXT, 
    DepName VARCHAR, 
    OrgName TEXT, 
    FromInf TEXT, 
    ToInf TEXT,  
    DateInf TEXT, 
    NoteInf TEXT); 

它显示了这个错误:

enter image description here

回答

5

我不知道该错误信息是什么,但是

  1. TEXT不是Oracle中的有效数据类型。
  2. VARCHAR是有效的数据类型,但您需要指定长度(即VARCHAR(10))将允许多达10个字节的存储空间(假设默认NLS_LENGTH_SEMANTICS为​​)。通常优选使用VARCHAR2数据类型而不是VARCHAR
1

我相信你有给VARCHAR一个像VARCHAR(50)一样的量。

1
CREATE TABLE Nrom1Tab 
( 
    Sig TEXT PRIMARY KEY, DocSubject TEXT, DocClassification TEXT, 
    DepName VARCHAR(100), -- Missing LENGTH 
    OrgName TEXT, FromInf TEXT, ToInf TEXT, DateInf TEXT, NoteInf TEXT); 
+1

仍然无法正常工作。文本不是有效的Oracle数据类型。 –

2

我相信抱怨错过左括号的错误,很生气,VARCHAR没有定义长度。错误引用列113(其将是左括号应为的位置)是该行上的第114个字符。

Justin也正确地指出TEXT不是有效的数据类型。虽然我不认为这是导致你看到的错误,但它很快会出错:)