2
我試圖創建了Talend工作,這將做到以下幾點:如何做一個簡單了Talend的Upsert與時間戳列
- 以輸入行和插入或更新到Oracle表中
- 如果行已經存在於Oracle表中,根據主鍵匹配檢查是否需要更新。
- 如果該行在Oracle表中不存在,則插入一個新行。
這3個很簡單,並且已經通過對tOracleOutput組件中的數據執行「插入或更新」操作實現。
不過,我的問題是,我在Oracle表2額外列:
- DM_UPDATE_DATE
- DM_INSERT_DATE
如果出現更新,我需要請在DM_UPDATE_DATE列中設置當前日期時間,但只有在更新該行時纔可以。
如果發生插入,我需要將DM_INSERT_DATE和DM_UPDATE_DATE設置爲當前日期時間。
我還沒有能夠實現這種行爲 - 是否有一個開箱即用的Talend解決方案?
我已經看過了tMap組件,特別是這個SO Answer似乎有來自tMap組件的輸出來區分更新和插入,但是這對於ETL作業中非常標準的東西似乎過於複雜。
我完全掛在Talend上,並沒有考慮在Oracle中這麼做,所以非常感謝。我通過在Oracle中使用了兩個東西來刪除對tMap的需求 - (1)。在DM_INSERT_DATE上插入的默認值和(2)設置DM_UPDATE_DATE的更新觸發器。 – Paul