Oracle SQL Developer 中的 SQL 语句错误
当我尝试在 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 );
它显示此错误:
When I try to execute the SQL statment below in Oracle SQL Developer:
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 );
It shows this error:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不确定错误消息是什么,但是
TEXT
不是 Oracle 中的有效数据类型。VARCHAR
是有效的数据类型,但您需要指定长度(即VARCHAR(10)
),最多允许 10 个字节的存储(假设默认NLS_LENGTH_SEMANTICS
为BYTE
)。通常最好使用VARCHAR2
数据类型,而不是VARCHAR
。I'm not sure what the error message is, however
TEXT
is not a valid data type in Oracle.VARCHAR
is a valid data type but you would need to specify the length (i.e.VARCHAR(10)
) would allow up to 10 bytes of storage (assuming a defaultNLS_LENGTH_SEMANTICS
ofBYTE
). It would generally be preferred to use theVARCHAR2
data type rather thanVARCHAR
as well.我相信抱怨缺少左括号的错误是因为 VARCHAR 没有定义长度而生气。该错误引用了第 113 列,该列是左括号应该的位置,即该行的第 114 个字符。
Justin 还正确指出 TEXT 不是有效的数据类型。虽然我不认为这会导致您看到的错误,但很快就会出现错误:)
I believe the error complaining about missing a left parenthesis, is angry that VARCHAR doesn't have a length defined. The error references column 113, which would be where the left parenthesis should be, the 114th character on that line.
Justin also correctly points out TEXT is not a valid datatype. While I don't think that is causing the error you're seeing, it'll be an error very soon :)
我相信你必须给 VARCHAR 一个像 VARCHAR(50) 这样的数量。
I believe you have to give VARCHAR an amount like VARCHAR(50).