您现在的位置是:网站首页> 编程资料编程资料
Oracle多表级联更新详解_oracle_
2023-05-27
516人已围观
简介 Oracle多表级联更新详解_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;
您可能感兴趣的文章:
相关内容
- 探讨Oracle中的&号问题_oracle_
- 浅析Oracle中的不等于号_oracle_
- 解析Oracle查询和删除JOB的SQL_oracle_
- 浅析常用数据库的自增字段创建方法汇总_oracle_
- Oracle安装过程中物理内存检查及临时temp空间不足问题解决_oracle_
- Oracle层次查询和with函数的使用示例_oracle_
- 关于系统重装后Oracle数据库完全恢复的解决办法_oracle_
- Excel导入oracle的几种方法_oracle_
- Oracle 11g服务器与客户端卸载、安装全过程_oracle_
- 解析PL/SQL Developer导入导出数据库的方法以及说明_oracle_
