Oracle数据库删除两表中相同数据的方法

2023-10-13 14:58

本文主要是介绍Oracle数据库删除两表中相同数据的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导读:
  在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。
   软件环境:
  1、Windows NT4.0+ORACLE 8.0.4。
  2、Oracle安装路径为:C:/ORANT。
   问题提出:
  1、在做数据转储业务的时候,如果发生操作错误,有可能出现主表和副表中都有同一种数据,
  这样结算的结果就有可能发生错误。
   实现方法:
  SQL> create table a (
  2 bm char(4), --编码
  3 mc varchar2(20) --名称
  4 )
  5 /bitsCN~com
  表已建立:
  SQL> insert into a values('1111','1111');
  SQL> insert into a values('1112','1111');
  SQL> insert into a values('1113','1111');
  SQL> insert into a values('1114','1111');
  SQL> insert into a values('1115','1111');
  SQL> create table b as select * from a where 1=2;
  [bitsCN.Com]
  表已建立:
  SQL> insert into b values('1111','1111');
  SQL> insert into b values('1112','1111');
  SQL> insert into b values('1113','1111');
  SQL> insert into b values('1114','1111');
  SQL> commit;[bitsCN_com]
  完全提交:
  SQL> select * from a;
  BM  MC
  ---- --------------------
  1111 1111
  1112 1111
  1113 1111
  1114 1111
  1115 1111
  SQL> select * from b;
  BM  MC
  ---- --------------------
  1111 1111
  1112 1111
  1113 1111
  1114 1111bbs.bitsCN.com
   方法一
  exists子句:
  SQL> delete from a where exists (select 'X' from b where a.bm=b.bm and a.mc=b.mc);www@bitscn@com
  删除4个记录。
  where条件:如果两个表中都拥有相同字段的主键(primary key),则只需比较两个主键就可以了。
   方法二
  in子句:
  SQL> delete from a where (bm,mc) in (select bm,mc from b);
  删除4个记录.
  SQL> select * from a;
  BM  MC
  ---- --------------------
  1115 1111bbs.bitsCN.com中国网管论坛
   实际测试结论
  在表不是很大时,用in子句速度还可以忍受,而如果记录量很多时(十万条以上),in子句速度很慢。

本文转自
http://www.bitscn.com/oracle/optimize/200709/109317.html

这篇关于Oracle数据库删除两表中相同数据的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204005

相关文章

Java中的getBytes()方法使用详解

《Java中的getBytes()方法使用详解》:本文主要介绍Java中getBytes()方法使用的相关资料,getBytes()方法有多个重载形式,可以根据需要指定字符集来进行转换,文中通过代... 目录前言一、常见重载形式二、示例代码三、getBytes(Charset charset)和getByt

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Java调用Python的四种方法小结

《Java调用Python的四种方法小结》在现代开发中,结合不同编程语言的优势往往能达到事半功倍的效果,本文将详细介绍四种在Java中调用Python的方法,并推荐一种最常用且实用的方法,希望对大家有... 目录一、在Java类中直接执行python语句二、在Java中直接调用Python脚本三、使用Run

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格