当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle大批量删除数据方法二
发布时间:2010/10/8 10:41:45 来源:www.xue.net 编辑:城市总裁吧
 以下是删除过程及时间:

  SQL> create or replace procedure delBigTab

  2 (

  3 p_TableName in varchar2,

  4 p_Condition in varchar2,

  5 p_Count in varchar2

  6 )

  7 as

  8 pragma autonomous_transaction;

  9 n_delete number:=0;

  10 begin

  11 while 1=1 loop

  12 EXECUTE IMMEDIATE

  13 'delete from '||p_TableName||' where '||p_Condition||' and rownum <= :rn'

  14 USING p_Count;

  15 if SQL%NOTFOUND then

  16 exit;

  17 else

  18 n_delete:=n_delete + SQL%ROWCOUNT;

  19 end if;

  20 commit;

  21 end loop;

  22 commit;

  23 DBMS_OUTPUT.PUT_LINE('Finished!');

  24 DBMS_OUTPUT.PUT_LINE('Totally '||to_char(n_delete)||' records deleted!');

  25 end;

  26 /

  Procedure created。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved