如何添加MSSQL约束来限制相关表的数量

时间:2014-12-05 11:58:49

标签: sql-server check-constraints

我有一个父表,它与四个子表中的每一个都有关系。父表的主键形成子表的主键和外键。对于父表中的任何给定行,只能有两个子表关联,分别为GradeOneA和GradeOneB或GradeTwoA和GradeTwoB。如何添加约束,如果父表中的ID与GradeOneA表中的ID匹配,那么它也不能匹配GradeTwoA表中的ID,反之亦然?

1 个答案:

答案 0 :(得分:0)

您可以使用CHECK约束来执行此操作,该约束在每个子表上调用一个函数。该函数检查其他子表以查看其中有多少个具有相同的PK / FK。约束条件查看返回值并决定是否应允许该行。