繁体   English   中英

在DB2中添加非唯一外键约束

[英]Adding a non-unique foreign key constraint in DB2

我有这两个(简化以说明问题)表:

create table CASE_INSTANCE (id int not null, stage_id int not null,
     primary key (id, stage_id));    
create table SAMPLE (id int not null, case_id int not null);

我想在SAMPLE上添加一个约束,以便CASE_ID必须是CASE_INSTANCE.ID的有效值。 但是,我不能使用外键执行此操作,因为CASE_INSTANCE.ID不是唯一的。 如何向SAMPLE添加约束以强制执行此关系?

这是针对DB2的。

添加另一个表,其中case_id是唯一的,然后从CASE_INSTANCESAMPLE引用它。

如果您不愿意更改模型,恐怕您必须使用触发器或在应用程序中强制执行此操作。 但是,如果某些情况取决于案例而不是案例,则它应该是该案例的子级,而不是案例。 如果您没有一个表格,其中案例ID是唯一的,那我想说您的模型出了点问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM