- 论坛徽章:
- 0
|
如题。
现在我有表a,其中有100W条记录,我在一个存储过程中根据条件来删除这个表中的部分记录,
我用游标来实现的,但是这个实现方式应该是每次提交的吧!代码如下:
——————————————————————————————————————————
create procedure proc_test(tmp_i integer) returning integer;
define i_l_sn integer;
define opResult integer;
begin
on exception
rollback;
return -1;
end exception;
foreach c1 with hold for
select sn into i_l_sn from log where time <= tmp_i
delete from log where sn = i_l_sn;
end foreach;
end;
let opResult = 0;
return opResult;
end procedure;
——————————————————————————————————————————————
现在我要做成,每删5000条记录才提交一次,
各位大侠,如何在存储过程中来实现?
PS:这个log表设计原则是sn为主键,自增列,并且time字段也有索引。
各位快来帮忙啊!!!非常感谢 |
|