1

我的ETL当前场景如下:

  • 对于每对相同的表 dbo.T 和 staging.T
    • 从暂存中删除。T
    • 从远程 Web 服务中提取并加载到 staging.T
    • 对于 staging.T 中的每一行
    • dbo.T有PK吗?
      • 是的,更新
      • 不,插入

我的主要疑问是围绕列列表的维护。

MERGE 语句似乎是最好的选择,但它似乎没有更新整行的能力。因此,我发现需要维护长列表:

Target.Column1 = Source.Column1, 
Target.Column1 = Source.Column1,
..., 
Target.ColumnN = Source.ColumnN

我找到了这个代码生成模板来帮助合并,但我非常想知道是否有标准方法来解决我刚才描述的问题,或者更重要的是,我是否遗漏了大局的某些部分——即我的方法是错误的.

换句话说,如果一个专业的 ETL 开发人员正在这样做(假设他们会这样做),他们会怎么做呢?

我想我想要达到的目标是一种可靠的方式来更改我的表的架构,并且不会有一个容易出错的更新所有列复制列表的过程。

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

在此处输入图像描述

4

0 回答 0