kettle轉換裡面sql指令碼的執行順序
阿新 • • 發佈:2019-02-16
##kettle轉換裡面的sql指令碼執行順序
- 1:書上說sql裡面的選項如果勾選了執行每一行,會按連線順序執行。
- 2:但是勾選了“執行每一行”,前面的流裡有多少條資料,sql就會執行多少次
測試圖片
- 如果沒勾選執行每一行,會先執行一次sql指令碼,把資料庫裡面的 id變為0,導致第一個表輸入查不到資料。
- 圖片中執行結果不代表實際執行順序。(從實際結果來看,不是按圖中順序來執行的)
- 勾選了“執行每一行”,雖然會按順序執行,先是表輸入,然後是表輸出,最後是執行sql指令碼。但是sql指令碼會執行n(流裡的記錄數)次
- 如果流裡面的記錄數大,最好把sql指令碼寫在外面,避免sql指令碼執行多次。
輸出表設定了“提交記錄數”,出錯後之前提交的資料,只要設定了事物會回滾
###設定變數
前一個設定的變數會一直作用於後面的過程,知道遇到下一個設定同樣的變數位置。(前提是變數的作用範圍是“在根作業中有效”)
圖片
之前使用的MD檔案編輯器,有時候圖片不正常顯示,如果顯示不出來,點選這裡檢視上述圖片