C# 什么是SQL Server中的标识插入和合并?
有人给我解释一下C# 什么是SQL Server中的标识插入和合并?,c#,sql-server,merge,C#,Sql Server,Merge,有人给我解释一下MERGE的用途吗 MERGE Dev.dbo.ProductTypeGroup AS target USING ( SELECT * FROM Staging.dbo.ProductTypeGroup ) AS src ON target.ProductTypeGroupId = src.ProductTypeGroupId 这意味着您允许在标识列中插入值,而不是依赖SQL Server为您提供标识值 用于根据某些条件执行原子
MERGE
的用途吗
MERGE Dev.dbo.ProductTypeGroup AS target
USING (
SELECT * FROM Staging.dbo.ProductTypeGroup
) AS src
ON
target.ProductTypeGroupId = src.ProductTypeGroupId
这意味着您允许在标识列中插入值,而不是依赖SQL Server为您提供标识值
用于根据某些条件执行原子更新/插入/删除(否则,在检查前提条件时必须锁定事务中的行-在某些情况下可能会影响性能)
您完整发布的语句所做的是将所有行从数据库
Staging
上的表ProductTypeGroup
转移到数据库Dev
中的同一个表中。运行此SQL后,Dev.dbo.ProductTypeGroup
将包含与Staging.dbo.ProductTypeGroup
完全相同的内容,包括标识值(因此需要设置identity\u INSERT
打开)。这是两个完全独立的问题,在SQL Server联机丛书中可以很容易地找到这两个问题的答案,你没有展示任何研究成果…你只是将代码粘贴到这里,让其他人完全为你解决问题..这不是这里的工作方式..请参阅找到答案的任何人的常见问题说明:问题是在我发布后编辑的;最初有更多的代码,在前面提到的两个表之间进行完全合并。
SET IDENTITY_INSERT Dev.dbo.ProductTypeGroup ON