繁体   English   中英

从一个表批量插入或批量更新到另一个 (n) 表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM