我正在尝试创建一些表并设置外键但我一直遇到外键问题。
之前我创建了下表,它工作正常
CREATE TABLE inpatient
(PatientNo varchar(6) NOT NULL,
WardNo number(2),
BedNo number(3) NOT NULL,
OnWaitingList date,
WardRequired varchar(25),
ExpectStayInDays number(4),
DatePlaced date,
DateLeave date,
ActualLeave date,
constraint PatientFK foreign key (PatientNo) references Patient (patientNo),
constraint bedFK foreign key (BedNo) references Bed (bedNo));
注意在最后一行使用patientFK。
然后我继续创建另一个表CREATE TABLE NOK
(PatientNo varchar(6) NOT NULL,
NOKFullName varchar(25),
NOKRelationship varchar(25),
NOKTelephone number(11),
NOKStreetAddress varchar(25),
NOKSuburb varchar(25),
NOKState char(2),
NOKPostCode number(4),
constraint patientFK foreign key (PatientNo)
references Patient (patientNo));
我收到以下错误消息
错误报告: SQL错误:ORA-02264:现有约束已使用的名称 02264. 00000 - “现有约束已使用的名称” *原因:指定的约束名称必须是唯一的。 *操作:为约束指定唯一约束名称。
我不知道如何解决它或找到可以提出解决方案的类似示例。
答案 0 :(得分:3)
约束的名称(本例中为PatientFK)在数据库中是唯一的。您已经使用过一次,所以当您尝试再次使用它时,您会收到一条错误消息。只需在NOK
表上设置一个不同名称的约束:
也许:
constraint patientFK_nok foreign key (PatientNo)