SSIS 2012 - 插入新行,忽略现有行
Posted
技术标签:
【中文标题】SSIS 2012 - 插入新行,忽略现有行【英文标题】:SSIS 2012 - Insert new rows, ignore existing rows 【发布时间】:2013-09-25 17:04:25 【问题描述】:我已经很久没有使用 SSIS 了。我正在使用 SSIS 2012。我想将一个表中的行插入到另一个表中。但是,我只想根据主键将源中不存在的行插入目标中。对于现有行,我想简单地忽略源中的行。我知道将行从一个表插入到另一个表是一件简单的事情,但是最好(最有效)的方法是检查源中的行是否存在于目标中,如果存在则忽略它?
【问题讨论】:
【参考方案1】:在您的源组件和目标组件之间,添加一个查找组件。
将查找配置为重定向到不匹配行的不匹配输出。
在您的查找源中,编写一个类似SELECT T.PK1, T.PK2 FROM dbo.MyTable T
的查询,您只需拉回主键,然后将您的输入数据与目标表的数据进行比较。
不匹配输出的结果将是目标中不存在的行。
2008 年问题的示例屏幕截图
Importing a large data file with sorts and joins in SSIS
【讨论】:
谢谢。我会试一试。这是我不确定的组件,也不知道该使用哪一个。以上是关于SSIS 2012 - 插入新行,忽略现有行的主要内容,如果未能解决你的问题,请参考以下文章