`

Oracle比较相似结构的两套表

阅读更多

出于某些原因,需要建立几十张表,使用DEL_开头,用于数据清理时记录所清理的数据。比如表TABLE1就对应DEL_TABLE1,但不幸的是,PDM文件与正式库表存在不一致,造成insert into DEL_TABLE1 select * from TABLE1未能正确插入,因此,有必要比较DEL_开头的表和对应表的差异。


写程序太麻烦了,还是用SQL吧:

1、比较字段

select * from cols t where table_name like 'DEL%'
and not exists (select 1 from cols t1
      where t1.TABLE_NAME=substr(t.TABLE_NAME, 5)
      and t1.COLUMN_NAME=t.COLUMN_NAME
      and t1.DATA_TYPE=t.DATA_TYPE
      and t1.DATA_LENGTH=t.DATA_LENGTH
      and t1.COLUMN_ID=t.COLUMN_ID
      and t1.NULLABLE=t.NULLABLE)
 

2、检查是否有新字段

select * from cols t
where exists (select 1 from cols t2 where t2.table_name = 'DEL_'||t.table_name)
and not exists (select 1 from cols t1
      where t1.table_name = 'DEL_'||t.table_name
      and t1.COLUMN_NAME=t.COLUMN_NAME)
 



 

分享到:
评论

相关推荐

    省市区三级联动表sql

    描述中提到的“全国省市区三级联动表sql”包含两部分:Oracle和MySQL的SQL执行文件,以及Excel的省市区文件。这意味着这个压缩包提供了两个不同数据库系统的数据导入方案,Oracle是企业级的关系型数据库管理系统,而...

    plsql_vs_tsql.doc

    - %TYPE、%ROWTYPE属性(PL/SQL):这两个属性允许变量自动匹配表列的数据类型,或整个行的数据结构。T-SQL没有直接的对应功能,但可以通过宣告变量时指定表的列名来实现相似效果。 综上所述,PL/SQL和T-SQL在语法...

    SIEBEL资料共享

    这种职位设计与Oracle 11i中的职责概念有些相似。 **Customer Data的权限控制** Customer Data的权限控制可以细化到Employee、Position或Organization,甚至它们的组合。例如,“My View”显示用户个人的数据,...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    // 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看 echo "$myphonebook[0]"; // sbabu echo "$myphonebook[1]"; // 5348 其他一些对数组或哈希表有用的函数包括sort(),next(),prev()...

    jsjava

    虽然这两个编程语言在名字上相似,但它们实际上有很大的不同。JavaScript,通常简称为JS,是由Netscape公司的Brendan Eich在1995年发明的一种轻量级的解释型脚本语言,主要用于网页和网络应用的客户端开发。而Java是...

    基于Java的聊天程序(JBuilder).zip

    Java语法简洁且与C++相似,但更加强调代码的可读性和安全性。 【JBuilder开发工具】 JBuilder是Borland公司(后被Embarcadero Technologies收购)开发的一款集成开发环境(IDE),专门用于Java应用程序的开发。它...

    存放一些Java、JavaEE、Android和iOS的源码

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle收购)于1995年推出。它的设计目标是“简单、面向对象、健壮、安全”,并且具有平台无关性,这意味着编写一次,到处运行(Write Once, ...

    php学习资源 配置好的php

    10. **框架应用**:如Laravel、Symfony、Yii等,它们提供了一套完整的开发结构和工具,加速开发进程。 通过这个"配置好的php"压缩包,你可以立即开始实践这些知识点,创建自己的PHP项目,无论是简单的网页还是复杂...

    jiao_java_

    虽然它们名字相似,但实际上是两种完全不同的技术。Java是一种多平台的后端编程语言,常用于服务器端开发,提供强大的功能和稳定性。而jQuery是基于JavaScript的库,主要在浏览器环境中工作,用于提升前端开发的效率...

    java复习内容1.pdf

    它们的控制结构有所不同,但功能相似。 【Java历史】Java语言由Sun Microsystems(后被Oracle收购)在1995年发布,基于JVM,底层实现包括Java OS和移植接口。 【编译单元与公共类】每个Java编译单元(.java文件)...

    java课件及源代码

    2. **语法结构**:Java的语法与C++相似但更简洁,如使用分号作为语句结束符,大括号表示代码块等。课件会详细解释变量、数据类型、运算符、流程控制语句(如if-else,for,while,switch-case)以及方法的定义和调用...

    java 基础知识课件

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单的、面向对象的、健壮的、安全的、平台独立的、可移植的、高性能的和多线程的特点。这...

    python可以用哪些数据库

    在Python中,可以与多种类型的数据库进行交互,这些数据库可以分为两大类:关系型数据库和非关系型数据库(NoSQL)。 关系型数据库遵循关系模型,其中数据以表格形式组织,并通过键值对进行关联。它们支持SQL(结构...

    164个完整Java代码.rar

    Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年发布。它以其“一次编写,到处运行”的特性而闻名,这意味着编写好的Java代码可以在任何支持Java的平台...

    JSP中文资料 JSP

    **JSP(Java Server Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。它允许Web开发者将HTML代码与Java代码结合在一起,以创建交互式的Web应用程序。JSP的核心概念是分离了内容的呈现...

    [其他类别]Jsp考试系统_jspks.zip

    它是由Sun Microsystems(现在已被Oracle公司收购)于1999年推出的一种服务器端脚本语言,主要用来构建基于Web的应用程序。JSP与HTML或XML等标记语言相结合,允许开发者将静态内容和动态生成的元素分开,提高了开发...

    java 面试题 总结

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 9、...

    Java

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。它的设计目标是具有高度的可移植性、安全性、健壮性和性能,使得“一次编写,到处运行”成为可能。Java的语法与C++...

    15介绍编

    在IT行业中,Java是一种广泛应用的高级编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标是“一次编写,到处运行”(Write Once, Run Anywhere),这意味着用Java编写的程序可以在...

    超级有影响力霸气的Java面试题大全文档

    从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 12、...

Global site tag (gtag.js) - Google Analytics