Oracle中大批量删除数据的方法

 更新时间:2007年03月21日 00:00:00   作者:  
写一个循环删除的过程。
create or replace procedure delBigTab(p_TableName in varchar2,p_Condition in varchar2,p_Count in varchar2) 
as
pragma autonomous_transaction;
n_delete number:=0;
begin
 while 1=1 loop
EXECUTE IMMEDIATE
'delete from '||p_TableName||' where '||p_Condition||' and rownum <= :10000'
USING p_Count;
if SQL%NOTFOUND then
exit;
else
n_delete:=n_delete + SQL%ROWCOUNT;
end if;
commit;
end loop;
commit;
DBMS_OUTPUT.PUT_LINE('Finished!');
DBMS_OUTPUT.PUT_LINE('Totally '||to_char(n_delete)||' records deleted!');
end delBigTab; 
调用:
SQL> set timing on
SQL> exec delBigTab('HS_DLF_DOWNLOG_HISTORY','NUMDLFLOGGUID < 11100000','10000');
PL/SQL procedure successfully completed.
Elapsed: 00:00:18.54
方法虽好,但我应用在一个亿级数据库时还是觉得慢得不行。就算删一点点数据也觉得好象挺慢的。

相关文章

  • Oracle中的分析函数汇总

    Oracle中的分析函数汇总

    本文详细讲解了Oracle中的分析函数,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Oracle decode函数用法详解

    Oracle decode函数用法详解

    本文详细讲解了Oracle中decode函数的用法,文中有相关的图文示例,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-05-05
  • oracle中rownum和row_number()

    oracle中rownum和row_number()

    这篇文章主要介绍了oracle中rownum和row_number()的使用方法以及区别和联系,十分的详细,有需要的小伙伴可以参考下。
    2015-05-05
  • Oracle参数设置教程之set和reset的实用案例

    Oracle参数设置教程之set和reset的实用案例

    最近在学习oracle,学习中遇到了一些觉着有必要记录下的内容,所以下面这篇文章主要给大家介绍了关于Oracle参数设置教程之set和reset实用案例的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起看看吧。
    2017-10-10
  • oracle临时表空间的作用与创建及相关操作详解

    oracle临时表空间的作用与创建及相关操作详解

    Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据,下面这篇文章主要给大家介绍了关于oracle临时表空间的作用与创建及相关操作的相关资料,需要的朋友可以参考下
    2022-07-07
  • Oracle中游标Cursor基本用法详解

    Oracle中游标Cursor基本用法详解

    这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Oracle11.2 命令行手工最简创建数据库的过程

    Oracle11.2 命令行手工最简创建数据库的过程

    Oracle 11.2命令行手工最简创建数据库的过程 命令行手工最简创建数据库的过程
    2009-09-09
  • ORACLE 常用函数总结(80个)

    ORACLE 常用函数总结(80个)

    ORACLE 常用函数总结(80个),大家可以参考下。
    2009-09-09
  • Oracle11g audit审计配置全过程

    Oracle11g audit审计配置全过程

    Oracle审计功能是数据库安全管理的重要组成部分,能够帮助管理员监控和记录数据库操作,确保安全和合规,审计分为标准审计、细粒度审计和统一审计等类型,可通过设置AUDIT_TRAIL参数和相关命令开启和配置,同时,审计记录需要定期查看和清理,以维护系统性能和存储空间
    2024-10-10
  • oracle中函数 trunc(),round(),ceil(),floor的使用详解

    oracle中函数 trunc(),round(),ceil(),floor的使用详解

    这篇文章主要介绍了oracle中函数 trunc(),round(),ceil(),floor的使用详解的相关资料,需要的朋友可以参考下
    2017-03-03

最新评论