informix下存储过程中如何实现分批提交??紧急求助!!
如题。现在我有表a,其中有100W条记录,我在一个存储过程中根据条件来删除这个表中的部分记录,
我用游标来实现的,但是这个实现方式应该是每次提交的吧!代码如下:
——————————————————————————————————————————
create procedure proc_test(tmp_iinteger) 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字段也有索引。
各位快来帮忙啊!!!非常感谢 只有人看 没有人 回答啊!
每人帮我解决呀! informix里面begin work与commit work是配对使用的!
这个没办法做!
要不在你的程序里面加个入口参数来控制commit count!在外面循环调!
页:
[1]