知识大全 Oracle两张表的数据比较

Posted

篇首语:最关情,折尽梅花,难寄相思。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle两张表的数据比较相关的知识,希望对你有一定的参考价值。

Oracle两张表的数据比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在某些情况下 我们会需要比较两张表的数据是否一样

  假设有两张表A与表B它们的字段相同 但是当中的数据可能不同 而且有些字段的数据还有可能为空

  方法一(手动) 把需要比较的两张表的数据按照某种规则排序后导出为xls 这里我直接用PL/SQL Developer导出

  然后用把xls文件转换成txt文件 这里我用的是batconv转换公式

  现在我们就有了两个txt文件

  然后用beyond pare文件比较器比较内容

  优点 数据差异一目了然 缺点 比较费时

  方法二(通过Sql语句来比较)

  创建表的语句          create table formula(          id varchar ( ) primary key 自动生成的 唯一的           formulaName varchar ( )           formulaContent varchar ( )           formulaType varchar ( )           )

  当中除id不为空 其它三项均可能为空

  一般情况下我们可以用          select * from formula A where not exists (select * from formula B where A formulaName=          B formulaName and A formulaContent=B formulaContent and A formulaType=B formulaType)

  在oracle 情况下如果两张表的某个字段都为null则其通过A *=B *是比较不出来的

  因此要额外加上这样的判断          or(A formulaContent is null and B formulaContent is null) or          (A fomrulaName is null and B fomrulaName is null) or (A formulaType is null and B fomrulaType is null)

  通过上面这个sql语句我们就可以找在A表中存在 但在B表中不存在的数据

  反过来可以查询在B表中存在 但在A表中不存在的数据

  若两个查询都为空 则说明两张表的相应字段完全相同

  若这两张表在不同的数据库 则要通过建立DBLink

  优点 数据比较快 特别是在数据量比较大的数据优势更加明显

cha138/Article/program/Oracle/201311/18808

相关参考

知识大全 oracle中merge的简单使用

  merge在oracle用以从另一张表中取数据插入到一张表中如果两张表中记录符合某些条件则替换如果不符合则插入下面的例子是把mergetest中记录更新到newmergetest如果两张表的id相

知识大全 Oracle中只更新两张表对应数据的方法

Oracle中只更新两张表对应数据的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  先建立一

知识大全 oracle数据库sql的优化总结

  自己对oraclesql的一些优化总结自己也记录下来也希望对大家有帮助  一使用where少使用having;  二查两张以上表时把记录少的放在右边;  三减少对表的访问次数;  四有where子

知识大全 更改Oracle数据库表的表空间

更改Oracle数据库表的表空间  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oracle数

知识大全 浅谈Oracle中大数据量表的管理

浅谈Oracle中大数据量表的管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简介  随着信

知识大全 详解Oracle数据库中DUAL表的使用

详解Oracle数据库中DUAL表的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DUAL

知识大全 详细讲解如何将数据模型转换成数据库设计

  将数据模型转换成数据库设计的相关问题:  创建表的联系  强实体联系  把一个表的主键作为另一张表的外键为了强调最大粒度是应该把外键设置成候选键  N强实体联系  把的那一段的表(父表)的键设置成

知识大全 设计模

  近段要实现一个上传excel文件到服务器并把excel文件的数据导入到数据库表中的功能   excel文件有两种格式对应数据库两张表我先实现了其中一种excel格式式

知识大全 oracle中如何判断本表有多少张表对其有外键关联

  在oracle中如何判断本表有多少张表对其有外键关联?我们主要分为两步  第一步  //查询表的主键约束名  select*fromuser_constraintsewhereetable_nam

知识大全 sqlldr加载数据到不同表的问题

  ◆首先我们来创建测试表    D:\\Orion>sqlpluseygle/eygleSQL*Plus:ReleaseProductionon星期一月::Copyright(c)Oracle