我需要确定MSSQL数据库中数据的完整性。我的数据模型包含两个重要的字段,这些字段是另一个表的外键。例如TripId和ReservationId(随机名,所以不要打扰他们)。整合2列的棘手约束
我需要插入数据的能力,如果: - 预留ID和TRIPID不是空 - ReservationId为空,TRIPID不为空 -ReservationId不是null TRIPID为空
这是棘手的,因为我需要拒绝其中一个Id在antoher组合中使用插入,例如: 我的db包含RES111和TRIP666的记录。我必须能够插入另一个具有相同ID的记录以供预订和旅行。 我不能插入只包含一个ReservationId或TripId或其他组合的数据(例如拒绝:RES111和TRIP777必须被拒绝)
当提供一个Id时,例如ReservationId。 必须拒绝包含带有任何tripId的使用的ReservationId的插入。
我可以在应用程序代码提供这样的过滤,但它必须在数据库级别
请向我们提供一些代码,“我们”编码器是在阅读代码,然后阅读纯英文更好,也提供了你已经尝试了什么至今 – DarkMukke
一些代码,我认为你需要为这个触发。 –
我同意@GordonLinoff,我不认为约束可以处理这种复杂性 – NickyvV