嘿所有我正在尝试创建一个包含Foreign Key
的表,并且由于某种原因我收到错误。错误说00907. 00000 - "missing right parenthesis"
这是奇怪的,因为我没有随机的左括号。我查找了如何使用Foreign Key
创建一个表,并生成了以下代码:
Create Table EMPHIREINFO
(
empname VARCHAR2(10) NOT NULL FOREIGN KEY REFERENCES EMPADDRESS(empname),
empno NUMBER(4,0) NOT NULL PRIMARY KEY,
startdt DATE,
enddt DATE,
cntrlgth NUMBER(5,0)
)
我在使用和不使用REFERENCES EMPADDRESS(empname)
的情况下尝试了它,但我仍然遇到同样的错误。感谢任何帮助。谢谢。
答案 0 :(得分:5)
您需要在FOREIGN KEY
之后指定列。但是,我更喜欢使用命名约束,例如
Create Table EMPHIREINFO
(
empname VARCHAR2(10) NOT NULL ,
empno NUMBER(4,0) NOT NULL ,
startdt DATE,
enddt DATE,
cntrlgth NUMBER(5,0),
CONSTRAINT PK_EMPHIREINFO PRIMARY KEY(empno) USING INDEX
(CREATE UNIQUE INDEX IDXU_EMPHIREINFO_empno ON EMPHIREINFO(empno) ),
CONSTRAINT FK_EMPHIREINFO_EMPNAME FOREIGN KEY(empname)
REFERENCES EMPADDRESS(empname)
)