假设我的表包含一组没有实际主键的复合主键。如何将所有这些复合主键设置为外键并将它们分别链接到其父表?
这3个需要设置为外键,并链接到另一个表中的主键AgencyID
。
AgencyID
PickUpAgencyID
DropOffAgencyID
这一个以及另一个表。
DriverLicenseNumber
这可以一次性完成吗?
Create table RENTAL (
RentalAgreementNumber Number(6) NOT NULL,
DriverLicenseNumber Number(9) NOT NULL,
VinNumber Number(9) NOT NULL,
AgencyID Number(6) NOT NULL,
PickUpAgencyID Number(6) NOT NULL,
DropOffAgencyID Number(6) NOT NULL,
PickUpDate DATE NOT NULL,
PickUpTime TIMESTAMP NOT NULL,
DropOffDate DATE NOT NULL,
DropOffTime TIMESTAMP NOT NULL,
PickUpOdometer Number(6) NOT NULL,
DropOffOdometer Number(6) NOT NULL,
RentalCost Dec(8,2) NOT NULL,
FuelOptionID Number(2) NOT NULL,
FuelOptionDesc Varchar2(10) NOT NULL,
InsuranceCost Dec(8,2) NOT NULL
);
答案 0 :(得分:0)
是的,只能使用一个ALTER TABLE命令。
假设另一个表名是A
和B
alter table RENTAL
add constraint rental_a_fk foreign key (AgencyID, PickUpAgencyID, DropOffAgencyID)
references a(AgencyID, PickUpAgencyID, DropOffAgencyID)
add constraint rental_b_fk foreign key (DriverLicenseNumber)
references b( DriverLicenseNumber )
;