主頁 > 知識庫 > Oracle多表級聯(lián)更新詳解

Oracle多表級聯(lián)更新詳解

熱門標簽:開封智能外呼系統(tǒng)廠家 百度地圖標注素材 征服眼公司地圖標注 征服者火車站地圖標注 word地圖標注方向 外呼線路外顯本地號碼 人工智能地圖標注自己能做嗎 阿爾巴尼亞地圖標注app 美圖秀秀地圖標注

用游標實現(xiàn),我覺得絕對這種方法比較安全的。
--首先定一個游標把需要用到的一些數(shù)據(jù)存放到游標中:

復(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)游標對數(shù)據(jù)進行更新:
復(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;

您可能感興趣的文章:
  • 解析Oracle中多表級聯(lián)刪除的方法
  • Oracle中多表關(guān)聯(lián)批量插入批量更新與批量刪除操作
  • 關(guān)于Oracle多表連接,提高效率,性能優(yōu)化操作
  • Mysql、Oracle中常用的多表修改語句總結(jié)
  • Oracle多表查詢中間表的創(chuàng)建實例教程

標簽:宜春 海北 孝感 六安 酒泉 泰安 淮南 葫蘆島

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Oracle多表級聯(lián)更新詳解》,本文關(guān)鍵詞  Oracle,多表級,聯(lián),更新,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle多表級聯(lián)更新詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle多表級聯(lián)更新詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章