Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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
C# 什么是SQL Server中的标识插入和合并?_C#_Sql Server_Merge - Fatal编程技术网

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