【发布时间】:2012-06-22 05:31:04
【问题描述】:
我必须将数据从 SQL 数据库表中提取到我的 DB2 表中。如果记录已经存在 UPDATE,对于新记录 INSERT,对于目标表中的额外记录 DELETE 那些额外的记录。目标表看起来与源表完全相同。对于 INSERT/UPDATE 我很好,如何从 dest 表中删除?
【问题讨论】:
标签: ssis
我必须将数据从 SQL 数据库表中提取到我的 DB2 表中。如果记录已经存在 UPDATE,对于新记录 INSERT,对于目标表中的额外记录 DELETE 那些额外的记录。目标表看起来与源表完全相同。对于 INSERT/UPDATE 我很好,如何从 dest 表中删除?
【问题讨论】:
标签: ssis
DB2 有一个 MERGE 命令。这允许您编写单个 SQL 语句来根据您定义的条件执行 INSERT、UPDATE 和 DELETE。这是一种非常干净的方式。
因此,您要做的是将“执行 SQL 任务”元素添加到 SSIS 包,并将 DB2 合并语句添加到任务中。
查看此链接(底部是示例)-http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=%2Fcom.ibm.db2.udb.admin.doc%2Fdoc%2Fr0010873.htm
【讨论】:
如果您想要的只是源表的副本......那么避免复杂性并首先完全删除目标 - 那么一切都只是一个插入。
【讨论】: