目前在我们的数据库设计中,我们在两个实体之间有一个循环引用。换句话说,我们在每个表中都有外键引用彼此的主键。为了在这些表中插入记录,我们需要执行延迟约束检查。这可能在SQL Server 2008中吗?我知道Oracle DDL对此有特殊的语法。
答案 0 :(得分:7)
在SQL Server中没有本机方法可以执行延迟约束检查。
可能你最好的选择是在第一个表的外键列中插入一个NULL值,直到插入第二个记录,然后作为同一个事务的一部分,更新第一个表中的外键列。
我很感兴趣 - 您的循环参考的商业原因是什么?这绝对是一项非凡的要求。
另请参阅同一主题的this thread。