請教一下大家一個關于資料insert與update的問題,1庫有三個表a,b,c,無資料,2庫也有三個對應的表并都給1庫開放相應的權限,且有資料,我想通過定時任務呼叫存盤程序,實作功能:1.將2庫對應表中資料全部復制到1庫中去,2.如果2庫表中有新增,修改,洗掉,1庫也定期進行相關操作,請教大家如何寫這樣的腳本?本人菜鳥一個,希望大家多多關照
uj5u.com熱心網友回復:
樓主是哪個環節遇到了問題?uj5u.com熱心網友回復:
可以同時用一個存盤程序實作更新四個表的資料嗎?
uj5u.com熱心網友回復:
可以的。存盤程序,實際上就是一大堆 SQL,可以是多行,也可以是一行。
uj5u.com熱心網友回復:
可否幫我寫個簡單的demo?不勝感激
uj5u.com熱心網友回復:
樓主是哪個環節遇到了問題?uj5u.com熱心網友回復:
建dblink,然后寫個存盤程序清表和插入資料,再配個定時任務呼叫uj5u.com熱心網友回復:
首先,你這個要求操作起來很簡單,但是要根據你具體的業務需求確定是想要定時全量更新還是定時增量更新。1.全量更新很簡單,全表truncate掉,然后dblink全部insert過來。(寫個定時任務每天呼叫就行)
2.增量更新的話,需要你明確怎樣修改才是變動,如果只有某一列(類似主鍵)有變化,可以直接檢測這一列做判斷;
如果是幾乎每一列都有可能變化修改,那么建議做成觸發器。
uj5u.com熱心網友回復:
你這個需求要明確用途,如果1庫的表只是存盤2庫對應表的資料,不去做任何處理,那么建立定時任務執行存盤程序就可以了;存盤程序可以直接清掉1庫的3張表的資料后再插入2庫中3張表的資料;
如果只想要通過2庫表的資料變化來更新1庫的表的資料;那么建議在存盤程序中使用游標匹配1庫的表中的每一行資料是否和2庫一致,如果不一致則更新;如果你需要實體的話可以站內信聯系
uj5u.com熱心網友回復:
建DBlink,存盤程序里面可以操作這些表uj5u.com熱心網友回復:
表b的資料發生變化的話,會不會有時間欄位做記錄呢。你這個應該增量的更適合吧感覺。
全量簡單 truncate insert 就ok了 ,增量通過時間列啦新資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/43238.html
標籤:開發
上一篇:[資料庫]
