SQL Syntax Error: "Missing Right Parenthesis"
SQL Syntax Error: "Missing Right Parenthesis"
我知道 ORA-00907 表示我的代码中有语法错误,我只是找不到它。有人可以帮忙指出问题吗?我正在使用 SQL 开发人员 (Oracle12c)。
CREATE TABLE equip
(equipid NUMBER(3),
edesc VARCHAR2(30),
purchdate DATE,
rating CHAR(1),
deptid NUMBER(2) NOT NULL,
etypeid NUMBER(2),
CONSTRAINT equip_equipid_pk PRIMARY KEY (equipid),
CONSTRAINT equip deptid_fk FOREIGN KEY (deptid) REFERENCES dept (deptid),
CONSTRAINT equip_etypeid_fk FOREIGN KEY (etypeid) REFERENCES etypes (etypeid),
CONSTRAINT equip_rating_ck CHECK (rating IN ('A','B','C')));
约束名称中有一个 space,这可能会混淆语法分析器:
CONSTRAINT equip deptid_fk FOREIGN KEY (deptid) REFERENCES dept (deptid),
^
如果您需要在标识符中使用 space,请用双引号将它们分隔开,例如 "equip deptid_fk"
。但是,如果您可以在不使用白色space 或标点符号的情况下拼写您的标识符,那就更容易了。
我知道 ORA-00907 表示我的代码中有语法错误,我只是找不到它。有人可以帮忙指出问题吗?我正在使用 SQL 开发人员 (Oracle12c)。
CREATE TABLE equip
(equipid NUMBER(3),
edesc VARCHAR2(30),
purchdate DATE,
rating CHAR(1),
deptid NUMBER(2) NOT NULL,
etypeid NUMBER(2),
CONSTRAINT equip_equipid_pk PRIMARY KEY (equipid),
CONSTRAINT equip deptid_fk FOREIGN KEY (deptid) REFERENCES dept (deptid),
CONSTRAINT equip_etypeid_fk FOREIGN KEY (etypeid) REFERENCES etypes (etypeid),
CONSTRAINT equip_rating_ck CHECK (rating IN ('A','B','C')));
约束名称中有一个 space,这可能会混淆语法分析器:
CONSTRAINT equip deptid_fk FOREIGN KEY (deptid) REFERENCES dept (deptid),
^
如果您需要在标识符中使用 space,请用双引号将它们分隔开,例如 "equip deptid_fk"
。但是,如果您可以在不使用白色space 或标点符号的情况下拼写您的标识符,那就更容易了。