6
当前在我们的数据库设计中,我们在两个实体之间有循环引用。换句话说,我们在每个表中引用了彼此主键的外键。为了在这些表中插入记录,我们需要执行延迟约束检查。这在SQL Server 2008中可能吗?我知道Oracle DDL对此有特殊的语法。延迟约束检查
当前在我们的数据库设计中,我们在两个实体之间有循环引用。换句话说,我们在每个表中引用了彼此主键的外键。为了在这些表中插入记录,我们需要执行延迟约束检查。这在SQL Server 2008中可能吗?我知道Oracle DDL对此有特殊的语法。延迟约束检查
在SQL Server中没有本地方式来执行延迟约束检查。
可能您最好的选择是将NULL值插入到第一个表的外键列中,直到插入第二条记录,然后作为同一事务的一部分更新第一个表中的外键列。
我很感兴趣 - 您的循环参考的商业原因是什么?这绝对是一个非凡的要求。
也看看this thread,在同一主题。
@Aaron。我们在同一产品的synonim之间有递归引用。 – 2009-06-15 21:07:46