Oracle SQL Developer中的SQL语句错误

时间:2012-01-25 19:35:22

标签: sql oracle oracle11g oracle-sqldeveloper

当我尝试在Oracle SQL Developer中执行以下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

4 个答案:

答案 0 :(得分:5)

我不确定错误信息是什么,但是

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

我相信你必须给VARCHAR一个像VARCHAR(50)的数量。

答案 3 :(得分: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 );