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
    )

    结果图如下:

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

  • 相关阅读:
    理解cookie
    浏览器解析url后执行过程
    如何使用D3绘制折线图
    Django 笔记
    vi命令
    PEP8编程规范
    Python_入门第一篇【持续更新...】
    DjangoWeb _ 登录页开发test
    Django开发流程
    Django 笔记2018.2.7
  • 原文地址:https://www.cnblogs.com/whatlonelytear/p/6092779.html
Copyright © 2011-2022 走看看