plsql语句块 for 遍历游标
来源:互联网 发布:php jquery ajax登录 编辑:程序博客网 时间:2024/05/01 03:21
declare
cursor cur_quick_info is
select * from ewallet.t_quick_pay_info where status='S' and pay_channel='01001906' and outer_merchant_id='1217015601' and quick_pay_id='201501010010KJ072895'; --微信010商户号老签约快捷信息
v_row_count integer :=0; --计数
v_total integer :=0;
v_quick_temp cur_quick_info%rowtype;
v_pre_value varchar2(1000); --快捷签约信息update前的值
begin
for v_quick_temp in cur_quick_info
loop
v_pre_value:='{"accountId":"' || v_quick_temp.account_id || '","status":"' || v_quick_temp.status || '","quickPaySn":"'
|| v_quick_temp.quick_pay_sn || '","quickPayId":"' || v_quick_temp.quick_pay_id || '","payChannel":"' || v_quick_temp.pay_channel
|| '","outerM商户号
updaterchantId":"' || v_quick_temp.outer_merchant_id || '","outerSignSn":"' || v_quick_temp.outer_sign_sn || '"}';
--更改快捷签约的走04新渠道与新e ewallet.t_quick_pay_info set pay_channel='02401906',outer_merchant_id='1301414501', modify_time=sysdate where
quick_pay_id=v_quick_temp.quick_pay_id;
--插入一条更改记录
insert into ewallet.t_quick_pay_info_log(id,quick_pay_id,status,create_ip,description,pre_value,create_time)
values(ewallet.T_QUICK_PAY_LOG_SEQ.nextval,v_quick_temp.quick_pay_id,v_quick_temp.status,'','010改为024走新接口扣款',v_pre_value,sysdate);
v_row_count:=v_row_count+1;
v_total:=v_total+1;
if v_row_count mod 10000 = 0 then --每1w条commit一次
commit;
v_row_count:=0;
end if;
if v_total mod 100000 =0 then
-- dbms_lock.sleep(3); --每10w条记录sleep 3秒
v_total:=0;
end if;
end loop;
commit; --commit不足1w条的事务
end;
/
cursor cur_quick_info is
select * from ewallet.t_quick_pay_info where status='S' and pay_channel='01001906' and outer_merchant_id='1217015601' and quick_pay_id='201501010010KJ072895'; --微信010商户号老签约快捷信息
v_row_count integer :=0; --计数
v_total integer :=0;
v_quick_temp cur_quick_info%rowtype;
v_pre_value varchar2(1000); --快捷签约信息update前的值
begin
for v_quick_temp in cur_quick_info
loop
v_pre_value:='{"accountId":"' || v_quick_temp.account_id || '","status":"' || v_quick_temp.status || '","quickPaySn":"'
|| v_quick_temp.quick_pay_sn || '","quickPayId":"' || v_quick_temp.quick_pay_id || '","payChannel":"' || v_quick_temp.pay_channel
|| '","outerM商户号
updaterchantId":"' || v_quick_temp.outer_merchant_id || '","outerSignSn":"' || v_quick_temp.outer_sign_sn || '"}';
--更改快捷签约的走04新渠道与新e ewallet.t_quick_pay_info set pay_channel='02401906',outer_merchant_id='1301414501', modify_time=sysdate where
quick_pay_id=v_quick_temp.quick_pay_id;
--插入一条更改记录
insert into ewallet.t_quick_pay_info_log(id,quick_pay_id,status,create_ip,description,pre_value,create_time)
values(ewallet.T_QUICK_PAY_LOG_SEQ.nextval,v_quick_temp.quick_pay_id,v_quick_temp.status,'','010改为024走新接口扣款',v_pre_value,sysdate);
v_row_count:=v_row_count+1;
v_total:=v_total+1;
if v_row_count mod 10000 = 0 then --每1w条commit一次
commit;
v_row_count:=0;
end if;
if v_total mod 100000 =0 then
-- dbms_lock.sleep(3); --每10w条记录sleep 3秒
v_total:=0;
end if;
end loop;
commit; --commit不足1w条的事务
end;
/
0 0
- plsql语句块 for 遍历游标
- oracle plsql语句、游标
- 【PLSQL】变量声明,结构语句,cursor游标
- PLSQL(1基本简单语句块)
- oracle 存储过程以及plsql语句块
- PLSQL条件语句完成员工加薪功能(记录类型+游标case when+if+for update+where current of)
- PLSQL异常块 嵌套块 条件语句
- 【PLSQL】游标
- PLSQL游标
- 不用游标 遍历记录的sql语句
- Oracle/PLSQL: FOR Loop 循环语句
- plsql块
- sql 语句拼接 游标遍历和函数遍历
- vs怎么把if语句块for语句块折叠
- Oracle pl/sql编程 4---plsql块中的sql语句
- 双重for循环语句块的优化
- Java中,for语句块范围
- PLSQL编程、游标、异常
- 老罗Handler(22)各种方式发送handler以及发送更多类型数据给主线程
- 算法基础:递归---汉诺塔问题
- 最短路径Dijkstra算法
- 找到Qt程序所有依赖库的简便方法,带翻译文件
- 迭代器模式
- plsql语句块 for 遍历游标
- 整体流程
- 菜鸟不要怕,看一眼,你就会用GCD,带你装逼带你飞
- Lock与synchronized 的区别
- Python学习笔记之基本数据类型
- POJ 3659 Cell Phone Network(树形DP)
- iOS 封装一个Model 处理返回时间
- 即将毕业的程序员历程总结
- sqlite的事务回滚