`
923080512
  • 浏览: 190549 次
  • 性别: Icon_minigender_1
  • 来自: 商丘
社区版块
存档分类
最新评论

oracle 对比两张表数据

 
阅读更多

oracle对两张表进行数据对比

Oracle两张表的数据比较可以用用手动方法比较,或者通过SQL语句来比较,两种方法各有所长。

在一些特定情况下还是需要比较两张表的数据是否一样。

比如现在有两张表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张表之间数据是否一致的几种方法

    本文将详细介绍几种常用的在Oracle中对比两张表数据一致性的方式。 #### 方法一:利用Oracle 11g中的`dbms_comparison`包 当两张表的数据结构完全相同,并且其中一张表所在数据库版本为Oracle 11g及以上时,可以...

    oracle,sqlserver及mysql对比

    独占表空间实际上是一张表一个表空间,也就是说每张表都有一个独立的数据文件。共享表空间似乎类似于 Oracle 的表空间,不同的表可以保存在同一个数据文件中。但是,MySQL 新版本也可以单独创建表空间,例如使用 ...

    Mysql和Oracle的对比.xlsx

    oracle和mysql的语法对比大全,包括语法,sql,内部函数,写法的全方位对比,如有错误或者遗漏欢迎指正

    Oracle对两个数据表交集的查询

    例如,我们仍以 A 和 B 两张数据表为例,在 Oracle 中运行以下查询: ``` SELECT * FROM A WHERE ID IN (SELECT ID FROM B); ``` 图 2 显示了这个查询的结果。 对比两个方法 两种方法都可以实现两个数据表的交集...

    数据库中两张表之间的数据同步增加、删除与更新实现思路

    1:数据同步增加: 如有两张表——A表和B表,创建触发器使当A表插入数据后B表也同步插入数据。其中B表插入数据的字段需要同A表中的字段相对应。 代码如下: CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN ...

    比对两个数据库中表的差异

    在实际工作中,我们经常遇到需要比较两个数据库中表的差异的情况,这可能是为了数据迁移、备份恢复、版本升级或故障排查等目的。本文将深入探讨如何有效地比对两个数据库中表的差异,并提供相关策略和技术。 首先,...

    两个不同数据库中的表之间的操作(包含sql server /oracle)

    ### 不在同一个数据库中的两张表之间的操作(含SQL Server与Oracle) #### 概述 本文主要探讨了在不同数据库环境中如何实现数据交互的问题,重点对比分析了SQL Server和Oracle这两种主流数据库系统之间的表操作...

    阿里巴巴开源的Oracle数据迁移同步工具yugong.zip

    整个数据迁移过程,分为两部分:全量迁移增量迁移过程描述:增量数据收集 (创建oracle表的增量物化视图)进行全量复制进行增量复制 (可并行进行数据校验)原库停写,切到新库架构说明: 一个Jvm Container对应多个...

    自动对比2个数据库表结构差异

    有时候,我们可能需要对比两个数据库的表结构差异,比如在升级系统、迁移数据或进行数据库同步时。本篇将深入探讨如何自动对比两个数据库表结构的差异,并提供一个名为`compareTableStructure`的实用工具来辅助这一...

    Oracle备份恢复课件

    - **检查点号对比**:Oracle通过比较控制文件中记录的每个数据文件的检查点号与数据文件头部实际的检查点号来判断是否需要进行介质恢复。 - **检查点号示例**: - 控制文件中记录的检查点号:`7632638` - 数据文件...

    oracle数据库删除数据Delete语句和Truncate语句的对比.docx

    在Oracle数据库管理中,删除数据是一项常见的操作,主要可以通过`DELETE`语句和`TRUNCATE`语句来实现。这两种语句虽然都能达到删除数据的目的,但在具体使用上却存在显著的区别,尤其是在性能和资源消耗方面。 首先...

    比较两个数据库之间的差异

    总之,比较两个数据库之间的差异是一个复杂但必要的任务,通常涉及数据库结构、数据内容以及权限等多个层面的对比。使用Java编程实现这样的功能需要理解JDBC、SQL查询以及结果集处理等技术。通过精心设计的程序,...

    Oracle面试题及答案整理

    题目中提到了一个SQL查询,涉及到两个表`table1`和`table1`的连接操作: ```sql SELECT t2.* FROM table1 t1, table1 t2 WHERE t1.fid = t2.fid AND t1.fno <> t2.fno; ``` **解析:** - 这里使用了逗号(`,`)来表示...

    2015 Oracle readme

    4. **吕海波:“调试 Oracle 两三例:调试技术在日常运维中的应用”** - **内容概述**:本演讲通过几个具体的调试案例,介绍了如何有效利用Oracle提供的工具来进行故障排查。 - **关键知识点**: - Oracle 内置...

    两表相同出结果自动到第三表

    在对比两个表格时,筛选可以帮助我们专注于相同的数据,例如通过筛选出两个表格中都存在的记录。 3. **VLOOKUP函数**:Excel的VLOOKUP函数是用于查找和比较两个表格数据的常用工具。它可以跨表格查找匹配值,并返回...

    Oracle实战优化器

    使用RBO的SQL语句执行计划不会受到表中数据变化的影响,这意味着即使表中的数据分布发生了改变,执行计划仍然保持不变。 ##### 2.1 RBO的工作原理 - **规则应用**:RBO使用一系列预设的规则来确定执行计划。例如,...

    Hadoop databases: Hive, Impala, Spark, Presto For ORACLE DBAs

    本文将探讨 Hadoop 生态系统中的四种主要工具——Hive、Impala、Spark 和 Presto,并对比它们与 Oracle 数据库的特点与应用场景,旨在帮助 Oracle DBA 们更好地理解和掌握这些新兴技术。 #### 二、Hadoop 概览 ...

    Compare Table Data功能介绍

    "Compare Table Data"是PL/SQL Developer工具中的一个重要特性,用于对比两个数据库中同名表的数据差异。这个功能对于数据库管理员或开发人员来说极其实用,因为它可以帮助快速定位并解决数据一致性问题,尤其是在...

    oracle 生产库优化2

    4. **减少表连接**:查询涉及到`deal_cz_integral`和`trade_history`两张表,检查连接条件是否可以进一步优化,比如通过添加合适的索引或调整数据模型,以减少连接操作。 5. **案例表达式优化**:在查询中,用到了`...

    Oracle与Sql-Server函数对照.docx

    本文档旨在对比并解析Oracle数据库与Microsoft SQL Server数据库中常用函数的区别与等效性。两者虽然都是关系型数据库管理系统(RDBMS)的重要组成部分,但在具体实现上存在差异。通过本篇文章,读者可以更好地理解...

Global site tag (gtag.js) - Google Analytics