orcal 存储过程批量更新字段,每500条commit

declare 
i int;--定义变量
v_count int;--定义变量
v_loop int;--定义变量
begin
 select count(*) into v_count from T_HPS_JNL WHERE THD_CHK_FLG = '0' and AC_DT = '20180517' and CORG_NO IN ('UPOP','ALIPAY','WXPAY');--计算表内数据总数
 select ceil(v_count/10) into v_loop from dual;--计算需要循环次数
 i:=1;--为i赋值
 while i<=v_loop loop--循环退出条件
update T_HPS_JNL set CORG_NO=(
CASE CORG_NO
WHEN 'UPOP' THEN '0305'
WHEN 'ALIPAY' THEN '0201'
WHEN 'WXPAY' THEN '0101'
END)
where THD_CHK_FLG = '0' and AC_DT = '20180517' and CORG_NO IN ('UPOP','ALIPAY','WXPAY') and rownum<=500 ;
   commit;--提交
   i:=i+1;--i依次加1
 end loop;--结束循环
end;

猜你喜欢

转载自blog.csdn.net/qq_34756209/article/details/80618032