首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复行的数据库合并问题

问重复行的数据库合并问题
EN

Stack Overflow用户
提问于 2011-05-11 03:01:07
回答 1查看 2.3K关注 0票数 0

我有DB1和DB2。我想将所有表格数据从DB1导出到DB2。DB2中的一些表具有与DB1相似的行。由于PK约束,无论我在SSIS中使用什么方法,这都会抛出一个错误。如何动态忽略目标表中存在的行并继续与其他表一起复制。我需要一次运行整个数据库的进程。我有100个表,所以这样做,为每个表将不会工作。我尝试使用SSIS (BI)中的Transfer SQL Server Objects Task控件,但它不提供处理我的情况的选项。

任何帮助都是非常感谢的,而且也不是很紧急。

EN

回答 1

Stack Overflow用户

发布于 2011-05-11 15:42:06

您可以为此使用查找。

http://jahaines.blogspot.com/2009/09/ssis-only-inserting-rows-that-do-not.html

编辑:如果需要合并两个表中的数据,则使用合并组件合并两个数据源,然后在合并表之后使用查找。如果合并的数据中有重复项,则可以在合并和查找之间使用排序组件,并勾选该框以删除重复项。不过要注意,就资源使用而言,使用sort组件的开销很大。

实现这一点的另一种方法是将两个表中的所有数据放入接收SQL框上的单个临时表中。然后编写一个存储过程,只将新行插入到生产表中,最后截断临时表。我会从控制流调用SP作为执行SQL任务。

就我个人而言,我会使用阶段表方法,因为试验和错误表明这对我来说更简单和最有效。不需要昂贵的排序和查找(查找并不昂贵),但SQL引擎喜欢在SP中执行基于集合的工作。

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

https://stackoverflow.com/questions/5955040

复制
相关文章

相似问题

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