Merge 从暂存移动记录时,有哪些合并选项?

Merge 从暂存移动记录时,有哪些合并选项?,merge,sql-server-2008-r2,etl,Merge,Sql Server 2008 R2,Etl,我的ETL当前场景如下: 对于每一对,都有相同的表dbo.T和staging.T 从staging.T中删除 从远程web服务提取并加载到staging.T 对于staging.T中的每一行 dbo.T有PK吗? 是的,更新 不,插入 我怀疑的主要领域是列列表的维护 MERGE语句似乎是最好的选择,但它似乎没有更新整行的能力。因此,我发现有必要保留一长串的: Target.Column1 = Source.Column1, Target.Column1 = Source.Column1, ..

我的ETL当前场景如下:

对于每一对,都有相同的表dbo.T和staging.T 从staging.T中删除 从远程web服务提取并加载到staging.T 对于staging.T中的每一行 dbo.T有PK吗? 是的,更新 不,插入 我怀疑的主要领域是列列表的维护

MERGE语句似乎是最好的选择,但它似乎没有更新整行的能力。因此,我发现有必要保留一长串的:

Target.Column1 = Source.Column1, 
Target.Column1 = Source.Column1,
..., 
Target.ColumnN = Source.ColumnN
我发现这有助于合并,但我非常想知道是否有标准的方法来解决我刚才描述的问题,或者更重要的是,我是否遗漏了大局的某个部分,即我的方法是错误的

换句话说,如果一个专业的ETL开发人员正在做这件事,他们会怎么做呢

我想我想要达到的目标是用一种可靠的方法来更改表的模式,而不是用一个容易出错的过程来更新所有的列复制列表

更具体地说,这里是SSIS任务的屏幕截图和我实现的前4个表的模式


你说dbo.T有PK?是,更新否,插入“您要将哪个表插入到dbo.T或staging.T中?”在过去,我求助于构建存储过程来基于存储在数据库中的元数据构建合并语句。然后可以从另一个存储过程执行SQL。这是不容易做到的,它是相当脆弱的,所以我也有兴趣听到任何其他的方法。