`
zhongxiucheng
  • 浏览: 69838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

oracle 多表删除 同时删除多表中关联数据

阅读更多
oracle 多表删除 同时删除多表中关联数据
2009-04-27 14:40

1、从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉

DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉

DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或

DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

注意此处的delete t1,t2 from 中的t1,t2不能是别名

如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

上述语句改写成

delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

多表连接查询很相似,不详加说明了

分享到:
评论

相关推荐

    Oracle中多表关联批量插入批量更新与批量删除操作

    在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...

    Oracle_数据库中的海量数据处理

    2. **并行处理(Parallel Processing)**:通过多线程或多进程技术同时执行多个任务,显著提升数据处理速度。 3. **物化视图(Materialized Views)**:预先计算好复杂查询的结果并将其存储为物理表,从而大幅减少...

    百亿级别海量数据删除方案(不停机维护)

    - **使用Oracle GoldenGate**:通过Oracle GoldenGate等工具实现数据的实时复制,可以在不影响生产环境的情况下进行数据删除操作。 - **异步处理**:建立异步处理机制,将数据删除任务放入队列中,由后台进程异步...

    如何实现多数据表关联呢?Delphi的方法实例..rar

    在多表关联中,可以创建多个TDataSource,一个对应于每个数据表,然后在它们之间建立链接。 7. **数据绑定**:Delphi的数据绑定机制使得界面上的控件可以直接显示和编辑TDataSet中的数据。在多表关联的情况下,通过...

    oracle误删除表空间后恢复

    表空间是Oracle数据库中存储数据的基本单位,每个表空间由一个或多个数据文件组成。表空间可以包含各种类型的数据对象,如表、索引、聚簇等。因此,误删除表空间可能会导致数据丢失,对业务运行造成严重影响。 ### ...

    Oracle数据表与查询

    在IT领域,尤其是在数据库管理与应用中,Oracle作为一款领先的企业级关系数据库管理系统,其数据表与查询功能是核心组成部分。本次将从给定的文件信息出发,深入解析Oracle数据表与查询的关键知识点,旨在为初学者...

    oracle temp表空间不足解决方法

    当遇到"Oracle temp表空间不足"的问题时,这通常意味着数据库运行过程中产生的临时数据超过了现有Temp表空间的容量。解决这个问题需要采取一系列策略和步骤,以下是一些详细的方法: 1. **扩展Temp表空间大小**: ...

    如何查询Oracle表空间和数据文件信息

    在Oracle数据库管理中,了解和监控表空间及数据文件的状态对于数据库管理...同时,根据表空间和数据文件的使用情况,还可以调整表空间的大小,增加或删除数据文件,或者改变数据文件的存储位置,以满足不同的业务需求。

    Oracle触发器备份表数据

    触发器是Oracle数据库中的一个重要特性,它允许用户定义在特定事件(如插入、更新或删除数据)发生时自动执行的一组SQL语句或PL/SQL代码块。通过合理设计触发器,可以实现复杂的数据处理逻辑和自动化操作。 ### ...

    对Oracle多表关联更新的应用研究.pdf

    Oracle数据库在多表关联更新中的应用研究主要集中在如何高效、准确地处理复杂的数据操作,尤其在涉及多个表之间关系的数据更新场景。在这个案例中,研究背景是一家名为仪刘鑫梓的大型百货连锁销售公司,该公司正在...

    Oracle 11i 表结构

    3. **多对多**:两个表之间存在多对多的关系时,通常会引入第三个表(关联表)来连接它们,该关联表中包含两个表的主键作为其外键。 #### 四、触发器的设置 触发器是一种特殊类型的存储过程,它被定义为当特定事件...

    Oracle删除语句.txt

    ### Oracle删除操作概述 在Oracle数据库管理系统中,删除数据是一项基本而重要的功能。通常涉及到的操作有DELETE、DROP和TRUNCATE三种方式,它们各自具有不同的应用场景和特点: 1. **DELETE**:用于从表中删除...

    用oracle10g的flashback闪回功能快速恢复oracle中被删除的表

    这样做将会彻底删除表及其相关联的对象,类似于 Oracle 10g 之前的版本中的行为。 ##### 5. **空间管理** - **空间压力**:当表空间被回收站中的数据填满时,Oracle 会根据先进先出的原则自动清理最旧的记录,以...

    Oracle Database 10g删除表的程序.rar_oracle 10g

    Oracle 10g还支持使用`TRUNCATE TABLE`语句,它用于删除表中的所有数据,但保留表结构。与`DELETE`不同,`TRUNCATE`不记录任何删除操作,因此速度更快,但同样不可逆。若需删除表而保留其结构,可以使用`TRUNCATE ...

    在C#中删除数据表

    删除一个数据表意味着永久性地从数据库中移除该表及其所有关联的数据。在执行这样的操作时,应格外小心,因为一旦数据丢失,通常无法恢复。在C#中,我们通常使用ADO.NET库,它提供了与各种数据库管理系统(如SQL ...

    oracle 分区表管理

    在Oracle数据库中,分区表是通过将一个大表分解为多个逻辑上关联的分区来实现这一目标的。每个分区可以独立进行操作,如查询、维护或备份,而不会影响到整个表。 **查看分区表信息** 要查看Oracle分区表的相关信息...

    Oracle建立表空间.pdf

    一个表空间由一个或多个数据文件组成,这些数据文件存储在操作系统中指定的位置。创建表空间是为了更好地管理和分配存储资源。 #### 二、创建表空间的基本命令 创建表空间的基本命令格式如下: ```sql CREATE ...

    Oracle数据库_实例_用户_表空间之间的关系.doc

    每个表空间都与一个或多个数据文件关联,数据文件是数据库中实际存储数据的物理文件。一个表空间可以包含多个数据文件,而每个数据文件只能属于一个表空间。表空间的主要作用是提供数据存储的逻辑划分,便于管理数据...

    Oracle 分区表自动维护脚本

    分区表是Oracle数据库中的一种高效数据管理技术,它将大型表划分为较小的、易于管理的部分,称为分区。通过分区,数据库管理员可以针对特定分区执行操作,从而提高整体性能和可管理性。自动维护脚本的主要目的是简化...

    Oracle两张表关联批量更新其中一张表的数据

    本文将详细介绍两种方法,用于在Oracle中实现两张表关联批量更新其中一张表的数据。 方法一(推荐): 这种方法利用了子查询和`EXISTS`子句。首先,我们在`SET`子句中创建一个子查询,从表1中选取需要的值(B列)来...

Global site tag (gtag.js) - Google Analytics