許多開發者嘗試用 Merge 或 Merge Join 直接實現 Upsert,但發現行為與預期不符。本文透過實驗揭示這兩個元件的真實運作機制,為後續進階技巧鋪路。
ForeachInput 封裝的所有元件 (含連線管理器)ProductNumber 排序



| 元件 | 實際行為 | 與 Upsert 差距 |
|---|---|---|
| Merge | 單純將兩個已排序輸入「交織」合併,不做比對、不去重 | 無法識別相同鍵值、無法決定增/改 |
| Merge Join | 依聯結鍵做 Inner/Left/Right/Full Outer Join | 可比對鍵值,但輸出仍為聯結結果,需後續邏輯判斷增/改/刪 |
IsSorted 屬性)Merge 與 Merge Join 是「資料對齊」工具,而非「資料同步」工具。要實現 Upsert,必須在其輸出後加入條件判斷邏輯 (如 Conditional Split、Script、或導向不同目的地),這正是後續篇章將展示的進階技巧核心。