考试网 >> IT认证 >> Oracle >> Oracle指导 >> 批量删除Oracle数据库的数据(1)

批量删除Oracle数据库的数据(1)

发布时间:2006-06-28 10:08     点击:
分页:[1] 2  下一页

在使用delete语句删除数据时,数据库是要做日志记录的,以便将来可以恢复数据,可是我在删除上百万条数据时,十分缓慢甚至死机,请问有没有什么好方法?   网友观点一:



create or replace procedure delete_table

is

i number(10);

begin

  for x in (select * from emp where DEPTNO like 'a%')

  loop

      delete emp where emp.id = x.id

      i:=i+1;

      if i>1000 then

         commit;

         i:=0;

      end if;

  end loop;

exception

    when others then

         dbms_out.put_line(sqlcode);

         rollback;

end delete_table;


  网友观点二:



这个是我平常用来批量删除数据,每500条数据提交一次。

DECLARE

CNT NUMBER(10):=0;

I NUMBER(10);

BEGIN

SELECT COUNT(*) INTO CNT FROM ep_arrearage_bak WHERE TO_CHAR(DF_DATE,'MM')='01';
分页:[1] 2  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有