错误ORA-00907:缺少右括号?

时间:2020-07-25 14:28:16

标签: oracle

过去两天来我一直在看这段代码,但似乎无法正常工作。它一直在给我

ORA-00907:缺少右括号。

我知道这是一个很多话题,但是由于某种原因,我所看到的例子都没有帮助我。有人可以告诉我为什么会出现此错误以及如何解决吗?我很确定这与我的括号无关,也许是我的约束?

CREATE TABLE General_STAFF(
GS_PEOPLE_ID NUMBER NOT NULL,
Dept_Id NUMBER NOT NULL,
staff_type varchar2(30),
staff_salary int,
date_hired date,
CONSTRAINT general_staff_pk PRIMARY KEY(GS_PEOPLE_ID) REFERENCES PEOPLE(PEOPLE_ID),
CONSTRAINT general_staff_fk1 FOREIGN KEY(DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID)
);

1 个答案:

答案 0 :(得分:1)

PRIMARY KEY不得引用任何内容

所以我认为您想要这样的东西:

CREATE TABLE General_STAFF(
GS_PEOPLE_ID NUMBER NOT NULL,
Dept_Id NUMBER NOT NULL,
staff_type varchar2(30),
staff_salary int,
date_hired date,
CONSTRAINT general_staff_pk primary key ( GS_PEOPLE_ID , Dept_Id),
CONSTRAINT general_staff_fk1 FOREIGN KEY(GS_PEOPLE_ID) REFERENCES PEOPLE(PEOPLE_ID),
CONSTRAINT general_staff_fk2 FOREIGN KEY(DEPT_ID) REFERENCES DEPARTMENT(DEPT_ID)
);