kettle利用觸發器實現資料同步

2021-09-07 10:32:03 字數 1584 閱讀 9674

2023年8月17日

一、目的

通過觸發器實現資料同步

二、思路

1.在資料庫需要同步的源表中建立乙個insert觸發器,當有新資料插入時,會自動將新插入資料的主鍵記錄到臨時表temp中。(當然也可以記錄多個字段)

2.比較臨時表temp和源表中的資料,匹配兩個表中的主鍵值是否一致(也可以匹配多個字段),將符合條件的源表資料篩選出來,同步到目標表。

3.當同步完資料之後,清空temp表中的資料,進行下一輪同步。

三、優缺點

1.優點

避免對相同資料的掃瞄,減少同步時間。

2.缺點

只在本地測試,未能在大資料環境下實施,不知道其穩定性如何。

四、環境配置

1.在源資料庫中建立臨時表temp

create table temp

(temp_id int primary key auto_increment,zhang_id int);

2.在源資料庫中為源表建立觸發器(如表zhang)

create trigger trig_zhang_insert

after insert

on zhang

for each row

insert into temp values (null,new.id);

五、具體步驟

1.主流程圖設計

2.「資料同步」模組設計

(1)「資料同步」作業設計

(2)「源表與目標表轉換」設計

注意:對錶輸出控制項的「定義錯誤處理」配置如下

當源表zhang無新資料插入,觸發器沒有往temp表中寫入資料,進行「temp表與源表比較」操作時會報錯,流程沒辦法繼續進行。配置「定義錯誤處理」可以避免這種情況。

3.「善後工作」模組設計

(1)「善後工作」作業設計

(2)「刪除temp表資料」設計

利用觸發器實現日誌記錄

我們在做專案的過程中,很多時候都要涉及到 日誌。日誌無非就是記錄使用者對資料的一些修改,新增,刪除操作。所以,我們很容易聯想到用觸發器來實現。假如現在日誌需要記錄當使用者對userinfo表進行的update,insert,delete操作時的表名,時間,以及操作的表的關鍵字值,修改者。userin...

WPF觸發器之資料觸發器(A)

wpf觸發器 屬性觸發器 當依賴屬性的值改變時呼叫。資料觸發器 當普通.net屬性的值改變時呼叫。事件觸發器 當路由事件被觸發時呼叫。1.資料觸發器示例 數字從0 9計數,當數字變為8時候,數字變化成紅色並加粗進行顯示。0 1 2 3 4 5 6 7 8 9 0 2.新建wpf專案,專案名稱 dat...

利用觸發器生成編號

原貼 http munity.csdn.expert topic 4294 4294910.xml?temp 3575403 有一表 id,product id,product name 其中id是自動編號,當向這錶新增資料時候,product id自動新增資料,格式是 wpbh max id 1,...