1. 概述
1.1 應用場景
demo1 資料庫中有一張資料表名為「S產品」,想要將「類別ID」=2 的資料同步到 demotest 資料庫中。
1.2 實現思路
「S產品」中,「產品ID」為主鍵,先取出「類別ID」=2 資料的「產品ID」值,設定為參數,在下游的資料同步中使該參數,將滿足條件的資料同步至資料庫中。
demo範例詳情請參見:https://demo.finedatalink.com/ 「參數指派-」
2. 操作步驟
2.1 參數指派
1)建立定時任務,拖入「參數指派」節點。
2)取出「類別ID」=2 資料的「產品ID」值,設定為參數。如下圖所示:
SQL語句:
select 產品ID from `demo1`.`S產品` where 類別ID=2
點選「資料預覽」,可看到「類別ID」=2 資料的「產品ID」值被取出。如下圖所示:
3)將取出的「產品ID」匯出為參數。
點選「匯出參數」,設定參數名為 id_para ;因為取出的「產品ID」欄位位於取出資料的第一欄,因此取出第一欄所有行的資料作為參數值。對「參數指派」中單個參數匯出的欄位值個數進行限制,限制最多不能超過 10000 個。
由於取出的「產品ID」是數值,所以不開啟「閉包符」;點選「參數預覽」按鈕,預覽成功後,自動選取前五個值填入對應參數的除錯值。
注:除錯值只是為了下游節點提前預覽設定的。
如下圖所示:
注:參數指派只能生成一筆資料,若需要分開匯出多筆資料,可以使用 循环容器
此時若發現取出的資料需要進行一些複雜的操作,例如欄轉列、資料聯動、JSON解析等資料處理和轉換才能成為參數,則可以使用「生成資料轉換」功能,將根據「參數指派」節點的資料來源和匯出參數,新增一個「数据转换」節點,你可以使用「資料轉換」替代「參數指派」進行復雜的資料處理工作,將處理好的資料使用「參數匯出」設定參數,詳情請參見:參數指派生成資料轉換
2.2 使用參數
設定好參數後,即可在下游的資料同步中使該參數,將滿足條件的資料同步至資料庫中。
1)拖入「資料同步」節點,與「參數指派」節點相連。
2)設定「資料同步」節點,從 demo1 資料庫中取出「S產品」資料表中滿足「參數指派」中參數條件的所有資料,也就是取出滿足「類別ID」=2 的「產品ID」對應的所有資料。如下圖所示:
SQL 語句:
SELECT * FROM `demo1`.`S產品` where 產品ID in (${id_para})
注:跟自訂參數不同,參數指派節點的參數引用時,不一定需要加單引號,如果在「參數指派」中定義的分隔符是正確的,那麼使用時直接用${參數名}即可。
3)設定資料去向。將滿足條件的資料同步至 demotest 資料庫裏的「canshu」表中。如下圖所示:
3)寫入方式預設即可。
2.3 效果查看
1)點選「運作」按鈕,任務運作成功後。如下圖所示:
2)資料庫表資料如下圖所示: