请大家帮我看看 rownum这么用行吗?
时间:2010-09-06
来源:互联网
有张表A记录数在千万,需要将表A符合条件记录备份到B表,同时删除A表记录,为避免长事务打算10000条提交一次事务,请大家帮我看看这样写行不行...先谢谢了!!
create or replace procedure clean_A
(
sdate in varchar
)
is
a number := 10000;
cnt number(
;
begin
loop
select count(*) into cnt from A
where a = sdate ;
if cnt <=0 then
exit;
end if;
insert into B select * from A
where a= sdate and rownum <= 10000 ;
delete from A
where a= sdate and rownum <= 10000 ;
commit;
end loop;
end clean_A;
/
这insert与delete是相同的10000条记录吗?
create or replace procedure clean_A
(
sdate in varchar
)
is
a number := 10000;
cnt number(

begin
loop
select count(*) into cnt from A
where a = sdate ;
if cnt <=0 then
exit;
end if;
insert into B select * from A
where a= sdate and rownum <= 10000 ;
delete from A
where a= sdate and rownum <= 10000 ;
commit;
end loop;
end clean_A;
/
这insert与delete是相同的10000条记录吗?
作者: andes0 发布时间: 2010-09-06
这种搞法有点意思啊
这是随机命中,不一定能保障!
这是随机命中,不一定能保障!
作者: duolanshizhe 发布时间: 2010-09-06
回复 duolanshizhe
哪有什么好的办法处理这样的情况?
哪有什么好的办法处理这样的情况?
作者: andes0 发布时间: 2010-09-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28