1

嘿,我正在尝试创建一个包含 a 的表,Foreign Key但由于某种原因,我遇到了错误。错误说00907. 00000 - "missing right parenthesis"这很奇怪,因为我没有随机的左括号。我查找了如何使用 a 创建表,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),我仍然得到同样的错误。任何帮助表示赞赏,谢谢。

4

1 回答 1

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)
)
于 2012-12-17T20:11:21.757 回答