暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 需要脚本比较不同oracld数据库中同一表的表数据

askTom 2018-09-17
301

问题描述

嗨,
我有一个要求,其中表1存在于2个diiferent oracle dbs中。我需要编写一个shell脚本或pl sql块,它将比较db 1和db2中的表的每一列,并给出unix的以下输出。它应该能够将任何两个db和任何表作为输入。
输出1: 主键不同。这意味着在db2的表中,db1上有这么多记录。
输出2: 对于db1中的所有记录,也存在于db2中,这是相同的主键,但是其他列中的某些数据是不同的。在这种情况下,我需要具有不同e的确切列
在这两种情况下,我也需要将输出记录转换为插入stt。
您能帮我编写一个脚本吗?我正在检查dbms比较包,但是我无法看到视图中任何地方都有差异的实际列。请引导
示例。
表1的主键为 “id”,列为c1直到c 10。
现在在db1'table1中有100条记录,Id1到id100。
在Db2中,同一个table1有150记录。50个带有主键差异的附加记录。同样在Db2中,对于从Id1到Id100的现有记录,修改了某些记录的数据,而修改了c1到c10任一列中的数据。
现在给定输入为Db1,Db2名称,表名为Table1,脚本应该比较整个表数据并给出输出为
DB2中的唯一记录 (作为整个记录的插入stt .. 带有值的所有列) 在文件、csv或种子sql中说。类似地,所有具有差异的精确列的记录。
请帮助我一些示例代码。

专家解答

斯图·阿什顿 (Stew Ashton) 不久前在这方面做得非常好。你可以在这里阅读

https://stewashton.wordpress.com/category/compare-and-sync/


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论