我有一个名为的表Couple
,其中包含以下字段CoupleId, HusbandId , WifeId ,
StartDate , EndDate
上一个表包含有关情侣的信息,这CoupleId
是一个主键
HusbandId
并且WifeId
是外键形成另一个名为的表Person
StartDate
并表示男性与女性EndDate
之间发生的婚姻的开始/结束日期HusbandId
WifeId
在我的问题中,我有一个条件是 w 女性不能同时与两个或更多男性结婚“同步婚姻”
我有以下查询
SELECT
DISTINCT A.WifeID
FROM
Couple A
INNER JOIN Couple B
ON A.WifeID = B.WifeID
AND A.HusbandID <> B.HusbandID
AND A.StartDate < B.EndDate
AND A.EndDate > B.StartDate;
这将返回任何具有同步婚姻的女性“同时与两个或更多男性结婚”
我想编写当有人想要插入或更新couple
表时触发的触发器,并且我希望这个触发器只有在它没有提供错误信息时才允许修改(例如,如果有人在一对表上插入一行并且这一行使#4 的妻子同时与两个或更多人结婚,此插入不能完成,因为它会在表格中显示错误信息)
此时有人可以帮助我吗?