我有一個名爲table1
的源表,它每晚都用新數據填充。我必須上傳4個關係表tblCus, tblstore, tblEmp, tblExp
中的數據。我應該使用存儲過程還是觸發器來實現? 謝謝將源表中的數據加載到多個表中
回答
在SQL Server中,永遠有不止一種方式來皮膚貓。從你的問題中,我假設你正在將來自OLTP風格數據庫的4個表格非規範化爲數據倉庫風格應用程序中的單個維度。
如果數據庫位於單獨的實例上,或者只需要簡單轉換,則可以使用SSIS(SQL Server Integration Services)。
如果這是正確的,並且數據庫駐留在同一實例上,那麼您可以使用存儲過程。
如果轉換是更大負載的一部分,那麼可以合併這兩種方法,並使用SSIS編排轉換,但只需在控制流中關閉存儲過程即可。
我用來決定是否應該使用數據流或存儲過程進行特定轉換的一般規則是:數據流是我的預設,但是如果我需要數據流中的任何異步轉換,我恢復到存儲過程。這個通用規則通常給出了最佳的性能特徵。
我會避免觸發器,特別是如果針對4個表有大量的DML操作,因爲每次修改都會觸發觸發器並可能導致性能下降。
謝謝,皮特這非常有幫助。 – Ashraf
@Ashraf如果它對你有幫助,請不要忘記註冊和/或接受。謝謝。 –
如果它是一個簡單的負載,可以使用DataFlow Task
從table1.
假設表1是你的源表中選擇你的4個表。
然後你可以使用一個Conditional split task
它的作用就像一個where子句,在這裏你可以設置你的定義爲tblCus, tblstore, tblEmp, tblExp
,然後添加4個目的地這些。
- 1. 如何將多個文件中的數據加載到多個表中?
- 2. DB將CSV加載到多個表中
- 3. 如何將數據Infile加載到多個表中?
- 4. 水壺將csv數據加載到多個表中
- 5. SSIS從多個表中加載數據
- 6. 將數據加載到外部表中
- 7. 將數據框加載到列表中
- 8. 將數據加載到臨時表中?
- 9. 將數據加載到Mysql表中
- 10. 將數據加載到Sencha列表中
- 11. 將CSV數據加載到PostgreSQL表中
- 12. 將mySQL數據加載到表格中
- 13. 將多個文件加載到ssis中的多個表中
- 14. 從多個來源將數據加載到目標中
- 15. 將單個csv文件中的數據加載到多個Cassandra表中?
- 16. 如何正確將表中的數據加載到表單中?
- 17. 將txt表中的數據加載到orc表中HIVE-查詢
- 18. 將teradata表中的數據行加載到mysql表中
- 19. 將數據加載到一個表
- 20. 將數據添加到單個表單中的多個表Access數據庫
- 21. 如何將.csv中的數據加載到數據表中?
- 22. 將數據庫中的數據加載到Web表單中
- 23. 將數據加載到html表中,而不用重新加載整個表
- 24. 將數據添加到CakePHP中的多個表中
- 25. 將來自多個源表的數據合併到一個目標表中
- 26. 將數據保存到多個表中
- 27. 將數據插入到多個表中
- 28. 將數據插入到多個表中
- 29. 將SQL Server多點數據類型的加載點加載到表中
- 30. 如何從資源中將值加載到數組列表中
SSIS將是這個 – Harry
一個很好的工具,您可以爲此創建計劃作業。 –
創建一個工作並在裏面添加你的scritpn –