【问题标题】:SSIS 2012 - Insert new rows, ignore existing rowsSSIS 2012 - 插入新行,忽略现有行
【发布时间】:2013-09-25 17:04:25
【问题描述】:

我已经很久没有使用 SSIS 了。我正在使用 SSIS 2012。我想将一个表中的行插入到另一个表中。但是,我只想根据主键将源中不存在的行插入目标中。对于现有行,我想简单地忽略源中的行。我知道将行从一个表插入到另一个表是一件简单的事情,但是最好(最有效)的方法是检查源中的行是否存在于目标中,如果存在则忽略它?

【问题讨论】:

    标签: ssis


    【解决方案1】:

    在您的源组件和目标组件之间,添加一个查找组件。

    将查找配置为重定向到不匹配行的不匹配输出。

    在您的查找源中,编写一个类似SELECT T.PK1, T.PK2 FROM dbo.MyTable T 的查询,您只需拉回主键,然后将您的输入数据与目标表的数据进行比较。

    不匹配输出的结果将是目标中不存在的行。

    2008 年问题的示例屏幕截图

    Importing a large data file with sorts and joins in SSIS

    【讨论】:

    • 谢谢。我会试一试。这是我不确定的组件,也不知道该使用哪一个。
    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    相关资源
    最近更新 更多