[英]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_INSTANCE
和SAMPLE
引用它。
如果您不愿意更改模型,恐怕您必须使用触发器或在应用程序中强制执行此操作。 但是,如果某些情况取决于案例而不是案例,则它应该是该案例的子级,而不是案例。 如果您没有一个表格,其中案例ID是唯一的,那我想说您的模型出了点问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.