Oracle SQL 错误 ORA-00907:table 创建时缺少右括号
Oracle SQL error ORA-00907: missing right parenthesis on table create
我想在 Oracle 11g 中创建下表,但出现以下错误:Oracle SQL error ORA-00907: missing right parenthesis
。为什么会这样?
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date(7) not null
);
DATE 数据类型没有长度。应该写成
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date not null
);
此错误的原因是您声明了 INSERTDATE date(7)
。摆脱 (7)
,一切都应该按预期工作。
这是因为您不需要为 DATE 数据类型提供长度。 Oracle 数据库使用自己的内部格式来存储日期。日期数据存储在每个7字节的定长字段中,分别对应世纪、年、月、日、时、分,second.The DATE数据类型存储年(包括世纪)、月、日、小时、分钟和秒(午夜后)。
应该写成-
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date not null
);
我想在 Oracle 11g 中创建下表,但出现以下错误:Oracle SQL error ORA-00907: missing right parenthesis
。为什么会这样?
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date(7) not null
);
DATE 数据类型没有长度。应该写成
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date not null
);
此错误的原因是您声明了 INSERTDATE date(7)
。摆脱 (7)
,一切都应该按预期工作。
这是因为您不需要为 DATE 数据类型提供长度。 Oracle 数据库使用自己的内部格式来存储日期。日期数据存储在每个7字节的定长字段中,分别对应世纪、年、月、日、时、分,second.The DATE数据类型存储年(包括世纪)、月、日、小时、分钟和秒(午夜后)。
应该写成-
CREATE TABLE DOCUMENTATION
(
NAME varchar2(200) not null,
VALUE varchar2(500) not null,
QUERY varchar2(200) not null,
INSERTDATE date not null
);