使用Union all in ssis在表中确定批量插入的优先级

时间:2017-08-18 13:18:22

标签: ssis bulkinsert sql-server-2016 union-all

我有多个存档表,在这些表中存储类似的数据,但以月份格式存档。现在,要求是将所有存档数据放入一个表而不是多个表。

我在SSIS的Union all的帮助下进行此活动,但似乎它在目标表中进行随机插入。

附加是转换所采用的路线。

enter image description here

我想优先考虑插入,请提出建议!

1 个答案:

答案 0 :(得分:0)

您可以添加额外的列"优先级"每个OLE DB源具有相应的每个源的优先级,然后在联合之后,您可以添加按优先级对数据进行排序的排序组件。但是如果你有很多数据 - 这将是非常低效的,因为排序组件将等到读取所有源数据。

我建议编写一个正确的源SQL语句,为您执行union / prioritization / sort,然后插入到目标中。

此外,如果源位于不同的服务器上,您可以创建Foreach循环容器,该容器将遍历源表并将所有这些容器插入目标表中。您可以使用this article作为参考。