Oracle多表级联更新详解
更新时间:2013年07月04日 09:47:01 作者:
我们在平时的工作中可能遇到过,多表级联更新,我也在网上看到过不少的方法,但是使用这些方法一般都没成功过,所以今天我给大家介绍一种稍微麻烦的方法,有需要的朋友可以参考下
用游标实现,我觉得绝对这种方法比较安全的。
--首先定一个游标把需要用到的一些数据存放到游标中:
复制代码 代码如下:
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;
相关文章
关于使用PLSQL Developer时出现报错ora-12514的问题
这篇文章主要介绍了关于使用PLSQL Developer时出现报错ora-12514的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法
这篇文章主要介绍了ORA-02298: 无法验证 (约束)提示未找到父项关键字的解决办法,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下2016-09-09Oracle固定执行计划之SQL PROFILE概要文件详解
概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件,这篇文章主要介绍了Oracle固定执行计划之SQL PROFILE概要文件 ,需要的朋友可以参考下2018-10-10详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
本篇文章主要介绍了Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 ,具有一定的参考价值,有兴趣的可以了解一下。2017-01-01
最新评论