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

Oracle 错误ORA-00907:缺少右括号?,oracle,Oracle,在过去的两天里,我一直在研究这个代码,但我似乎无法让它正常工作。它一直给我 ORA-00907:缺少右括号 我知道这是一个经常提到的话题,但出于某种原因,我所看到的例子中没有一个对我有帮助。有人能告诉我为什么会出现这个错误,我该如何修复它?我很确定这和我的括号无关,也许是我的限制 CREATE TABLE General_STAFF( GS_PEOPLE_ID NUMBER NOT NULL, Dept_Id NUMBER NOT NULL, staff_type varchar2(30), s

在过去的两天里,我一直在研究这个代码,但我似乎无法让它正常工作。它一直给我

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)
);

主键不能引用任何内容

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

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)
);

PRIMARY KEY(GS\u PEOPLE\u ID)
应该是
foreign KEY(…)
,然后您可以将第一个
NOT NULL
替换为
PRIMARY KEY
。表定义中存在语法错误,我的建议是阅读关于主键和外键定义的内容。阅读我的目的不是给出答案,而是告诉你,你以后一定会得到你的答案。干杯,祝你一切顺利luck@BarbarosÖzhan:现在作为评论给出。谢谢