Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 延迟约束检查_Sql Server_Constraints - Fatal编程技术网

Sql server 延迟约束检查

Sql server 延迟约束检查,sql-server,constraints,Sql Server,Constraints,目前在我们的数据库设计中,两个实体之间有一个循环引用。换句话说,每个表中都有外键,它们相互引用主键。为了在这些表中插入记录,我们需要执行延迟约束检查。这在SQL Server 2008中是否可能?我知道Oracle DDL对此有特殊的语法。在SQL Server中没有执行延迟约束检查的本机方法 最好的选择可能是在第一个表的外键列中插入空值,直到插入第二条记录,然后作为同一事务的一部分,更新第一个表中的外键列 我很感兴趣-你的商业理由是什么?这绝对是一个非凡的要求 也来看看,在同一个话题上 @Aa

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

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

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

我很感兴趣-你的商业理由是什么?这绝对是一个非凡的要求


也来看看,在同一个话题上

@Aaron。我们在同一产品的目录之间有一个递归引用。@Igor:那么您可能希望将产品名称存储在一个单独的表中,产品信息和产品名称之间有一对多的关系。延迟约束检查在您希望交换或重新排序唯一键的情况下非常有用,尽管(例如“排序”列)可能重复该键