zoukankan      html  css  js  c++  java
  • oracle表结构和表内容差异比对【原】

    oracle表结构和表内容差异比对

    oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作.

    • union 并集
    • intersect 交集
    • minus 差集

    假设有如下两张表 STUDENT_A 和 STUDENT_B

    create table STUDENT_A  
    (  
      id   VARCHAR2(36) not null,  
      name VARCHAR2(100),  
      age  NUMBER,  
      sex  VARCHAR2(2)  
    );  
      
    insert into STUDENT_A (id, name, age, sex)  
    values ('1', 'bobo', 28, '1');  
    insert into STUDENT_A (id, name, age, sex)  
    values ('2', 'sisi', 29, '2');  
    commit;  
      
      
    create table STUDENT_B  
    (  
      id    VARCHAR2(36) not null,  
      name  VARCHAR2(100),  
      age   NUMBER,  
      clazz VARCHAR2(36)  
    );  
      
    insert into STUDENT_B (id, name, age, clazz)  
    values ('1', 'bobo', 28, '1');  
    insert into STUDENT_B (id, name, age, clazz)  
    values ('2', 'sisi', 29, '2');  
    insert into STUDENT_B (id, name, age, clazz)  
    values ('3', 'kiki', 30, '1');  
    commit; 

    效果图如下:

    比较两表结构差异语句:

    注意下面的小括号不能省,因为是从左到右计算的,如果省掉计算公式就不一样了哦,大家可以自行脑补.

    (
      SELECT column_name FROM user_tab_columns WHERE table_name = 'STUDENT_A'
      MINUS 
      SELECT COLUMN_name FROM user_tab_columns WHERE table_name = 'STUDENT_B'
    )
    UNION
    (
      SELECT column_name FROM user_tab_columns WHERE table_name = 'STUDENT_B'
      MINUS 
      SELECT COLUMN_name FROM user_tab_columns WHERE table_name = 'STUDENT_A'
    )

    结果图如下:

     

    比较两表内容语句:

    注意下面的小括号不能省,因为是从左到右计算的,如果省掉计算公式就不一样了哦,大家可以自行脑补.

    (
      SELECT * FROM  STUDENT_A
      MINUS 
      SELECT * FROM  STUDENT_B
    )
    UNION
    (
      SELECT * FROM  STUDENT_B
      MINUS 
      SELECT * FROM  STUDENT_A
    )

    结果图如下:

     同上图可知比较内容的时候,是不关心字段名是否有差异的,它只关心字段的类型和值.

  • 相关阅读:
    生成类似于MongoDB产生的ObjectId
    链式编程:遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder)
    mysql时间字符串按年/月/天/时分组查询 -- date_format
    根据模板导出excel
    九度 1188 约瑟夫环问题
    快速排序
    Linux 命令
    volatile小记
    线程池ThreadPoolExecutor
    CyclicBarrier、CountDownLatch与Semaphore的小记
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/6092779.html
Copyright © 2011-2022 走看看