1. 概述
1.1 應用場景
使用者希望將篩選出的資料,只做新增/更新/刪除操作。
使用者來源表資料已經有了標識欄位和標識值,需要對目標表資料進行新增/更新/刪除操作。
1.2 功能簡介
在 資料同步 節點中,寫入方式選擇「基於標識欄位,新增/更新/刪除資料」,可實現上述場景。
注1:本文適用於 4.0.28 及之後版本;本文方案不適用於邏輯刪除。
注2:本文方案只適用於 1.1 節中的應用場景,若是其他場景中實現資料的增刪改,請參考:資料同步方案概述
2. 範例一:只做新增/更新/刪除操作
範例表資料:订单数据记录.xls
本章範例:從「訂單資料記錄」表中,篩選出「貨主地區」為空的資料,並刪掉這些資料。
2.1 設定資料來源
1)建立定時任務,拖入「資料同步」節點。
2)從「訂單資料記錄」表中,篩選出「貨主地區」為空的資料。如下圖所示:
2.2 設定資料去向與映射
在「資料去向與映射」Tab 中,設定目標表為「訂單資料記錄」表。如下圖所示:
2.3 設定寫入方式
寫入方式選擇「基於標識欄位,新增/修改/刪除資料」,只勾選「刪除」按鈕,選擇物理刪除;此時,不填標識值,則對讀取的所有資料進行新增或更新或刪除;點選「主鍵映射」,設定邏輯主鍵為「訂單ID」。如下圖所示:
2.4 效果查看
1)點選「運作」按鈕,任務運作成功後,如下圖所示:
2)點選「資料同步節點>資料預覽」,可看到查看結果為空。
3. 範例二:已有標識欄位和標識值
本章範例:來源表中,增加、修改、刪除的資料已有標識欄位和標識值,實現目標表資料的增刪改操作。
3.1 場景模擬
來源表「產品」中,「狀態」列為標識列,值為「熱銷」時做新增操作,值為「一般」時做刪除操作,值為「火爆」時做更新操作。
「產品」表中將產品ID為 15 的新增資料標記為「熱銷」,產品ID為 16 的刪除資料標記為「一般」,產品ID為 14 的更新資料標記為「火爆」,希望能將資料變化同步到目標表「產品資料」中。
注:本文範例刪除為物理刪除(目標表中實際刪除資料);若使用者希望目標表中刪除資料只標記刪除,不實際刪除,目標表中需要新增「狀態」列,用來標記資料變化。
3.2 設定資料來源
1)建立定時任務,拖入「資料同步」節點。
2)資料來源 Tab 中,讀取來源表「產品」的資料。如下圖所示:
3.3 設定資料去向與映射
1)資料寫入到目標表「產品資料」中。如下圖所示:
2)本文範例中,不需要將「狀態」列同步到目標表中,所以取消「狀態」列的映射。如下圖所示:
3.4 設定寫入方式
寫入方式選擇「基於標識欄位,新增/修改/刪除資料」,標識欄位設定為「狀態」,值為「熱銷」時做新增操作,值為「一般」時做刪除操作,值為「火爆」時做更新操作。
由於目標表沒有物理主鍵,寫入方式勾選了「更新」和「刪除」,所以需要設定邏輯主鍵,主鍵映射處設定「產品ID」為邏輯主鍵。
3.5 效果查看
1)點選「運作」按鈕,任務運作成功後,如下圖所示:
2)目標表「產品資料」如下圖所示,可發現新增產品ID為 15 的資料,刪除產品ID為 16 的資料,修改產品ID為 14 的資料。