首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过将多列与Excel源进行比较来更新表?

问如何通过将多列与Excel源进行比较来更新表?
EN

Stack Overflow用户
提问于 2012-11-08 05:22:55
回答 1查看 2.2K关注 0票数 0

我正在创建一个SSIS包,以增量方式将数据从Excel表格(从iSeries数据库导出)加载到SQL表中,目前遇到的问题是确定哪些记录要更新,哪些记录要插入数据流,我已经看到通过执行术语查找来完成,所以我设置了一个术语查找,遇到的问题是我需要匹配多个列才能比较唯一的行(在下面的示例中,我至少需要匹配父项、seen和RoutingCode ),而术语查找转换只允许匹配一列。现在,从理论上讲,我可以将成功的匹配输出到第二次查找和第三次查找,但这似乎是一个转折的解决方案,并且输入行数过多可能会降低性能,所以我正在寻求更有经验的DBA的任何建议。

示例数据:

代码语言:javascript
复制
Parent  2nd Itm#    3rd Itm#    Routing Code   UpdatedColumn
------- ----------- ----------- -------------- -------------
921221  TF2-14511   TF2-14511   PLANNING       1568
921221  TF2-14511   TF2-14511   COAT&CAP       14545
921221  TF2-14511   TF2-14511   S.S 0-OVERLAPS 45556
842568  TF2-14511   TF2-14511   PLANNING       4545
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 05:39:00

将数据从Excel电子表格加载到SQL Server数据库上的临时表中。然后使用查询或存储过程(理想情况下是存储过程)比较临时表和要插入或更新数据的目标之间的数据。如果您使用的是SQL Server2008或更高版本,您可以使用可以比较源和目标表的MERGE语句来INSERT或UPDATE记录。

您可以使用Data Flow Task将数据从Excel加载到SQL Server临时表。在控制流上,可以在数据流任务之后放置一个Execute SQL Task,以调用将包含MERGE语句的存储过程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13278465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档