AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    Oracle中大批量删除数据的方法
    写一个循环删除的过程。
    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收购TimesTen 提高数据库软件性能
    下一篇:一个oracle指令的好网站
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)