假设我的表包含一组没有实际主键的多个复合主键。如何将所有这些复合主键设置为外键并分别链接到它们的父表?
这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
);发布于 2018-02-05 05:23:02
是的,只使用一个变更表命令是可能的。
断言另一个表名是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 )
;演示:http://sqlfiddle.com/#!4/ee1c26
https://stackoverflow.com/questions/48615528
复制相似问题