SQL Server BI Step by Step SSIS 4 - 合并数据3
本文配套源码
我们已经介绍了三种方法来实现数据流源和数据库数据的合并,也就是Excel中的数据和数据库里面的 数据进行同步,存在的数据进行更新操作,不存在的添加数据,另外还可以扩展为,如果数据库为的数据在 Excel数据源中不存在,则执行删除操作.接下来我们来介绍其它的方法来实现这样的目标. 我们 在合并数据1中曾经介绍过,直接通过Merge和Merge Jone是无法直接实现的,不过我们可以通过变通的方 法实现.首先我们新建一个包MergeDataMerge,像之前一样,象上次一样,准备控制流,变量和连接管理器. 其实前面和合并数据1中的MergeData2一样,将Excel数据源和数据库表数据根据ProductNumber字段进行 合并. ![]() 这里我们选的是完全外部连接,这样才能完全合并两边的数据.当一方数据没有匹配的数据时,有NULL 代替.所以我们直接根据合并后的ProductNumber和NewProductNumber 就可以直接这行数据应该对应的是 添加,更新,还是删除.在Merge Join组件下面,我们添加Conditional Split组件,这个组件来判断对于不 同的情况的分支: ![]() 很简单,当行中对应的ProductNumber为NULL时,说明没有从数据库时面查到匹配的数据,所以这条数据 应该进行新增操作,当NewProductNumber为NULL时,说明Excel数据源中不存在数据库中ProductNumber对 应的数据,所以此条数据应该进行删除,最后,如果两个ProductNumber相同,则应该进行更新操作.这里需 要注意的是,一定要把两个判断ISNULL的条件放在前面,因为我们在第三个里面用到了TRIM,如果为NULL值 时,会有错误发生. ![]() (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server-2008 – 错误地在表上运行了更新语句
- 网络存储的免费解决之道
- sql-server-2008 – 与SQL Server分开安装Team Foundation
- 在ASP.NET 2.0中操作数据之三十四:基于DataList和Repeater
- 将行数据转换为SQL Server中的列
- SQL Server BI Step by Step SSIS 6 - 获取远程主机的可用磁
- sql – 如果A,B,C上有一个索引,A,B上的索引是否冗余?
- sql-server – 如何将主键设为AUTOINCREMENT
- sql-server – 将每日时间表分组为[开始日期;结束日期]与工
- 决胜800MHz,顶星祭出七种武器!