Oracle多表級(jí)聯(lián)更新詳解
更新時(shí)間:2013年07月04日 09:47:01 作者:
我們?cè)谄綍r(shí)的工作中可能遇到過(guò),多表級(jí)聯(lián)更新,我也在網(wǎng)上看到過(guò)不少的方法,但是使用這些方法一般都沒成功過(guò),所以今天我給大家介紹一種稍微麻煩的方法,有需要的朋友可以參考下
用游標(biāo)實(shí)現(xiàn),我覺得絕對(duì)這種方法比較安全的。
--首先定一個(gè)游標(biāo)把需要用到的一些數(shù)據(jù)存放到游標(biāo)中:
復(fù)制代碼 代碼如下:
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)游標(biāo)對(duì)數(shù)據(jù)進(jìn)行更新:
復(fù)制代碼 代碼如下:
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;
相關(guān)文章
Oracle數(shù)據(jù)庫(kù)19C的安裝與配置指南(2022年最新版)
在Oracle數(shù)據(jù)庫(kù)的發(fā)展中,數(shù)據(jù)庫(kù)一直處于不斷升級(jí)狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)19C的安裝與配置指南的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
淺談入門級(jí)oracle數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入導(dǎo)出步驟
這篇文章主要介紹了淺談入門級(jí)oracle數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入導(dǎo)出步驟,文章通過(guò)步驟解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Oracle數(shù)據(jù)庫(kù)產(chǎn)重啟服務(wù)和監(jiān)聽程序命令介紹
大家好,本篇文章主要講的是Oracle數(shù)據(jù)庫(kù)產(chǎn)重啟服務(wù)和監(jiān)聽程序命令介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
檢查Oracle數(shù)據(jù)庫(kù)版本的7種方法匯總
在Oracle數(shù)據(jù)庫(kù)的發(fā)展中,數(shù)據(jù)庫(kù)一直處于不斷升級(jí)狀態(tài),下面這篇文章主要給大家介紹了關(guān)于檢查Oracle數(shù)據(jù)庫(kù)版本的7種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
Oracle 數(shù)據(jù)庫(kù)自動(dòng)存儲(chǔ)管理-安裝配置
關(guān)于ASM的討論很多,但是到底什么是ASM?ASM是一個(gè)有效的抽象層,使你的Oracle數(shù)據(jù)庫(kù)可以與叫做diskgroups的抽象空間一起使用,而不是直接使用datafiles。2009-05-05

