在一些特定情况下还是需要比较两张表的数据是否一样。
比如现在有两张表A与表B它们的字段相同,但是当中的数据可能不同,而且有些字段的数据还有可能为空。
方法一(手动):把需要比较的两张表的数据按照某种规则排序后导出为xls,这里我直接用PL/SQL Developer导出。
然后用把xls文件转换成txt文件,这里我用的是batconv转换公式。
现在我们就有了两个txt文件。
然后用beyond compare文件比较器比较内容。
优点:数据差异一目了然,缺点:比较费时。
方法二(通过Sql语句来比较):
创建表的语句:
create table formula(
id varchar2(50) primary key--自动生成的,唯一的。
formulaName varchar2(50),
formulaContent varchar2(2000),
formulaType varchar2(20),
)
当中除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。
优点:数据比较快,特别是在数据量比较大的数据优势更加明显。缺点:比较时不能很快看出两张表的差异,因为查询的只是当中的某一张表。
相关推荐
Oracle中比对2张表之间数据是否一致的几种方法
方法一(推荐): UPDATE 表2 ...尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围。 方法二: MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED THEN UP
oracle两个不同的数据库比较表结构的不同,同时自动形成升级的sql语句,以目标数据库为标准,自动形成源数据库中没有的表或列的创建sql语句;如果源数据库中存在目标数据库中没有的表或列,则不予考虑;即只考虑没有...
java导出oracle数据(单表)
Oracle 元数据表 Oracle 元数据表 Oracle 元数据表 Oracle 元数据表
Oracle 备份、恢复单表或多表数据步骤,适用于 Oracle 8、9、10。 *备份单表或多表数据:
Oracle测试表及数据.txt
在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。
oracle 多表查询与数据修改学习笔记,主要是让大家熟悉三个或四个表的连接查询,熟练掌握delete、update与insert的语法。
Oracle_数据库中的海量数据处理,介绍以及如何使用oracle语句处理海量数据
Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,本文向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法。第一种方法:利用操作符intersect,intersect操作符...
详细介绍如何正常删除Oracle 数据库表空间数据文件,OFFLINE和OFFLINE DROP的区别,OS级别删除了数据文件后的恢复,删除数据库表空间数据文件演示示例
oracle定时删除表空间的数据并释放表空间(oracle编程高手总结编写)
本文仅针对 Oracle 数据库所提供的加速数据导入的各种特性和技术进行探讨,其中的一些方法也可以转化应用于其他数据库。以下七种数据导入方法哪个最适用需要针对具体情况具体分析,也附带列举了影响导入速度的各种...
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
1、使用存储过程的方法 2、使用游标的方法 3、进行对表数据的维护 4、执行表正确的CBO操作
Oracle数据库3种主要表连接方式各自优劣对比
一、查看Oracle数据库中表空间信息的方法 1、查看Oracle数据库中表空间信息的工具方法 2、查看Oracle数据库中表空间信息的命令方法 二、查询Oracle数据库中数据文件信息的方法 1、查看Oracle数据库中数据文件信息的...