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;
--然后循環(huán)游標對數據進行更新:
復制代碼 代碼如下:
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 監(jiān)聽器密碼設置方法(LISTENER)
在缺省的情況下,任意用戶不需要使用任何密碼即通過lsnrctl 工具對Oracle Listener進行操作或關閉,從而造成任意新的會話都將無法建立連接2016-09-09關于使用PLSQL Developer時出現報錯ora-12514的問題
這篇文章主要介紹了關于使用PLSQL Developer時出現報錯ora-12514的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11ORA-02298: 無法驗證 (約束)提示未找到父項關鍵字的解決辦法
這篇文章主要介紹了ORA-02298: 無法驗證 (約束)提示未找到父項關鍵字的解決辦法,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09Oracle固定執(zhí)行計劃之SQL PROFILE概要文件詳解
概要文件,就是一份描述如何使用系統(tǒng)的資源(主要是CPU資源)的配置文件,這篇文章主要介紹了Oracle固定執(zhí)行計劃之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