[英]Bulk Insert or Bulk Update from a table to another (n) Table
我有一个包含大量列的源表。 我想从此源表中提取记录并将其插入/更新到另一个 (n) 表中。
目前我正在使用以下确定性方法:
MERGE ClassTbl AS Target
USING SourceTbl AS Source
ON Source.[ClassCode] = Target.[Code]
WHEN NOT MATCHED BY Target
THEN INSERT (
[Code]
,[Description]
) VALUES (
Source.[ClassCode]
,Source.[ClassDescription]
)
WHEN MATCHED AND Source.[ClassDescription] <> Target.[Description]
THEN UPDATE
SET Target.[Description] = Source.[ClassDescrition];
上述代码的问题在于,即使在 ClassTbl.Code 中已经存在相同的 ClassCode,它也会插入一条新记录。 因此,有重复的记录。
以下是我的数据模型的样子:
源表
...
ClassCode,
ClassDescription,
...
CompanyCode,
CompanyDescription,
CompanyOtherColumn
...
类表
Id
Code
Description
...
公司表
Id
Code
Description
OtherColumn
...
说了这么多,如何从我的源表批量插入或更新到我的另一个表,即 ClassTbl 和 CompanyTbl?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.