将 WHERE 子句添加到外键

Jer*_*ell 5 sql

我的数据库 (TableA) 中有一个表,它有一列 (TableA.Column1) 只允许来自另一个表 (TableB.Column2) 的某些行的值。这与普通的外键关系非常相似,只是只允许来自 TableB.Column2 的某些行。例如,我可能只允许来自 TableB.Column2 的行,其中 TableB.Column3 > 100;

有没有办法在数据库中表达这种类型的参照完整性?我尝试向外键添加 where 子句,并尝试向 Check 约束添加子查询。我也没有上班。

有人有建议吗?

Kla*_*sen 3

根据您使用的数据库系统,答案可能会有所不同。但一个选择肯定是使用触发器。