2009-06-15 145 views
6

当前在我们的数据库设计中,我们在两个实体之间有循环引用。换句话说,我们在每个表中引用了彼此主键的外键。为了在这些表中插入记录,我们需要执行延迟约束检查。这在SQL Server 2008中可能吗?我知道Oracle DDL对此有特殊的语法。延迟约束检查

回答

7

在SQL Server中没有本地方式来执行延迟约束检查。

可能您最好的选择是将NULL值插入到第一个表的外键列中,直到插入第二条记录,然后作为同一事务的一部分更新第一个表中的外键列。

我很感兴趣 - 您的循环参考的商业原因是什么?这绝对是一个非凡的要求。

也看看this thread,在同一主题。

+1

@Aaron。我们在同一产品的synonim之间有递归引用。 – 2009-06-15 21:07:46