首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Oracle)在1语句中将复合主键设置为外键?

(Oracle)在1语句中将复合主键设置为外键?
EN

Stack Overflow用户
提问于 2018-02-05 03:33:27
回答 1查看 59关注 0票数 1

假设我的表包含一组没有实际主键的多个复合主键。如何将所有这些复合主键设置为外键并分别链接到它们的父表?

这3需要设置为外键,并链接到另一个表中的主键AgencyID

代码语言:javascript
复制
AgencyID                 
PickUpAgencyID           
DropOffAgencyID 

这张也是另一张桌子。

代码语言:javascript
复制
DriverLicenseNumber

一次就能做到吗?

代码语言:javascript
复制
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
);
EN

回答 1

Stack Overflow用户

发布于 2018-02-05 05:23:02

是的,只使用一个变更表命令是可能的。

断言另一个表名是AB

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48615528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档