代码之家  ›  专栏  ›  技术社区  ›  Igor Zelaya

延迟约束检查

  •  6
  • Igor Zelaya  · 技术社区  · 15 年前

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

    1 回复  |  直到 12 年前
        1
  •  7
  •   Community CDub    7 年前

    在SQL Server中没有执行延迟约束检查的本机方法。

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

    我很感兴趣-你方循环参考的商业理由是什么?这绝对是一项非同寻常的要求。

    也可以看看 this thread 关于同一主题。