加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – 更新SSIS OLEDB目标中的行

发布时间:2020-12-12 16:15:06 所属栏目:MsSql教程 来源:网络整理
导读:我有一个数据流程,我有一个OLEDB源和一个OLEDB目的地,如下所示: 源合并来自两个临时表的数据,并返回一个结果集(例如,50K行).这些50K行也存在于目标表中,但是是旧数据. SELECT * FROM staging1UNIONSELECT * FROM staging2 通常,在OLEDB目标中,我们将返回的数
我有一个数据流程,我有一个OLEDB源和一个OLEDB目的地,如下所示:

源合并来自两个临时表的数据,并返回一个结果集(例如,50K行).这些50K行也存在于目标表中,但是是旧数据.

SELECT * FROM staging1
UNION
SELECT * FROM staging2

通常,在OLEDB目标中,我们将返回的数据集从源插入目标表,但在我的情况下,我必须使用这些新的50K行来更新旧的50K行.

种类更新.

任何人都可以让我知道我该怎么做?我感谢您的帮助.

解决方法

在具有OOB组件的数据流任务中,无法在SSIS中进行批量更新.

一般模式是识别插入,更新和删除,并将更新和删除推送到临时表,在数据流任务之后,在执行SQL任务中使用基于集的更新或删除.看看安迪·伦纳德的Stairway to Integration Services series.滚动约3/4的文章到“基于设置的更新”,以查看模式.

舞台数据

设置更新

您将获得更好的性能与这样的模式,而不是使用OLE DB Command转换任何东西,但微不足道的数据量.

如果你进入第三方工具,我相信CozyRoc和我知道PragmaticWorks有一个合并目标组件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读