Oracle多表级联更新详解
用游标实现,我觉得绝对这种方法比较安全的。--首先定一个游标把需要用到的一些数据存放到游标中:
declare
CURSOR D_CURSOR_CUS_INFO IS
select t3.id_ as id_,
t3.owe_money_ as owe_money_,
a.heatingArea as heating_area_
from T_CUS_OWE_MONEY_2 t2
left join T_CUS_OWE_MONEY_3 t3 on t2.id_= t3.id_
left join (select s.bh, sum(
case
when s.stkbz='0' then nvl(s.mj,0)
when s.stkbz='1' then 0-nvl(s.mj,0)
end
) as heatingArea from sk s where s.nd = '2008-2009' group by s.bh) a on t2.bh_=a.bh
where t3.owe_money_- t2.owe_money_ = a.heatingArea*5 and t3.OWE_MONEY_ > 0;
--然后循环游标对数据进行更新:
begin
FOR everyRow IN D_CURSOR_CUS_INFO
loop
update T_CUS_YEAR_STATUS t
set t.HEATING_AREA_ = everyRow.HEATING_AREA_,
t.OWE_MONEY_ = everyRow.owe_money_
where t.YEAR_ = '2008-2009'
and t.id_ = everyRow.id_;
end loop;
commit;
end;相关阅读:
浅谈JAVA中输入输出流实例详解
Windows8的各种版本介绍
我的NodeJs学习小结(一)
C#编程中使用ref和out关键字来传递数组对象的用法
用纯CSS实现容器内图片上下左右居中
Yii快速入门经典教程
win10升级后开机慢怎么办?win10开机慢详细解决办法
ajax实现点击不同的链接让返回的内容显示在特定div里
mysql 5.7.5 m15 winx64安装配置方法图文教程
总结MySQL修改最大连接数的两个方式
win10系统中命令提示符闪退该怎么解决?
简介JavaScript中用于处理正切的Math.tan()方法
设置CentOS控制台分辨率图文详解
PHP中定义数组常量(array常量)的方法