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

superhank

superhank

2016-02-19 10:30

今天图老师小编给大家精心推荐个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
方法虽好,但我应用在一个亿级数据库时还是觉得慢得不行。就算删一点点数据也觉得好象挺慢的。
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
Oracle中大批量删除数据的方法

使用SqlBulkCopy进行数据大批量的迁移

编程语言 网络编程
使用SqlBulkCopy进行数据大批量的迁移

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

WebQQ很强大批量移动或是删除好友

电脑入门
WebQQ很强大批量移动或是删除好友

Oracle 9i删除数据表

编程语言 网络编程
Oracle 9i删除数据表

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

转移大批量Outlook邮件的秘决

电脑网络
转移大批量Outlook邮件的秘决

用Windows的文件映射机制实现大批量数据的快速存储

编程语言 网络编程
用Windows的文件映射机制实现大批量数据的快速存储

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

listview里子项有按钮的情况使用介绍

listview里子项有按钮的情况使用介绍

让超链接显示提示信息的js代码

让超链接显示提示信息的js代码
下拉加载更多内容 ↓