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

在oracle大表中删除数据

 
阅读更多
declare  
   cursor mycursor is SELECT  ROWID FROM TEST WHERE  XXX=XXXX  order by rowid;   <--------按ROWID排序的Cursor,删除条件是XXX=XXXX,根据实际情
况来定。
   type rowid_table_type is  table  of rowid index by pls_integer;
   v_rowid   rowid_table_type;
BEGIN
   open mycursor;
   loop
     fetch   mycursor bulk collect into v_rowid  limit 5000;   <--------每次处理5000行,也就是每5000行一提交
     exit when v_rowid.count=0;
     forall i in v_rowid.first..v_rowid.last
        delete from test  where rowid=v_rowid(i);
     commit;
   end loop;
   close mycursor;
END;
/

 

分享到:
评论

相关推荐

    Oracle删除表中的重复数据

    ### Oracle删除表中的重复数据方法 在Oracle中删除表中的重复数据,可以采用多种策略,但通常涉及创建一个临时表来保存去重后的数据,然后用这个临时表覆盖原始表。这种方法可以避免直接修改原表带来的风险,确保...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    在 Oracle 数据库中,如果删除了大量数据(千万级别),可能会出现查询变慢的问题。下面我们将分析这个问题的原因,并提供解决方案。 问题的原因主要有两个方面: 1. 表空间的增长:当删除大量数据后,表空间可能...

    如何正确的删除Oracle表空间数据文件

    本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...

    oracle定时删除表空间的数据并释放表空间

    7. **表分区和段压缩**:为了更有效地管理表空间,可以考虑对大表进行分区,根据日期或其他业务关键字段将数据分段存储。此外,Oracle还提供了压缩选项,如ROW STORE COMPRESSION和COLUMN STORE COMPRESSION,可以在...

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

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

    解决Oracle表删除大量数据后查询变慢问题

    Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了

    Oracle数据库误删除数据的不同恢复方法整理

    ### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...

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

    在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。

    oracle批量删除数据

    - **删除速度快**:在Oracle数据库中,采用特定的方法进行批量删除数据时,可以显著提高处理速度。根据描述中的信息,批量删除100万条记录只需要大约3分钟的时间,这比传统的逐条删除要快很多。 ##### 限制: - **...

    Oracle必杀技物理删除数据文件恢复

    本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的后果。一旦数据文件被物理删除,不仅文件本身消失,Oracle数据库可能无法...

    Oracle数据库误删除数据的不同恢复方法整理(超级实用)

    在Oracle数据库管理中,误删除数据是一种常见的错误操作,可能导致重要的业务数据丢失。为了应对这种情况,Oracle提供了多种数据恢复的方法,包括闪回恢复、从回收站恢复等。本文将详细介绍这些方法,并给出具体的...

    Oracle数据库删除表中重复记录的方法三则.txt

    - `DELETE FROM tb_channel a`:指定从表`tb_channel`中删除数据。 - `WHERE a.ROWID IN (SELECT MAX(b.ROWID) FROM tb_channel b WHERE a.policyNo = b.policyNo AND a.classCode = b.classCode)`:通过子查询找...

    Oracle删除亿级表数据的参考方法

    1、使用存储过程的方法 2、使用游标的方法 3、进行对表数据的维护 4、执行表正确的CBO操作

    ORACLE 多表查询与数据修改

    3. **DELETE**:用于从表中删除数据。 例如,如果我们要更新学生表中名为“Mike”的学生的信息,可以使用以下语句: ```sql UPDATE stu SET stuName = 'Michael' WHERE stuName = 'Mike'; ``` 以上SQL语句将把名为...

    Oracle恢复误删除数据,解除锁定的等SQL语句

    在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...

    彻底删除 Oracle 的数据表

    在Oracle数据库管理中,删除数据表是一项常见的操作。然而,为了防止误删导致的数据丢失,Oracle引入了一个名为“回收站”(Recycle Bin)的功能。当用户执行DELETE或DROP命令时,默认情况下,被删除的对象不会立即...

    删除ORACLE某个用户下所有数据

    在Oracle数据库管理过程中,有时候我们需要清理某个用户下的所有数据。这可能是因为项目结束、测试环境重置或是其他原因导致的。为了完成这一任务,我们可以通过一系列SQL命令来实现对特定用户下各种类型对象(如表...

    利用 Oracle 系统触发器防止误删除表操作

    ### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...

    Oracle恢复误删除数据

    然而,在实际操作中,误删除数据是一种常见的错误。因此,了解如何恢复误删除数据是非常重要的。本文将详细介绍 Oracle 恢复误删除数据的方法。 delete 方法的恢复 在 Oracle 中,delete 方法可以使用闪回方法恢复...

Global site tag (gtag.js) - Google Analytics