2014-09-05 68 views
0

我正在使用SQL Server/SSIS 2005,並且我非常重視某些我認爲應該是一個簡單問題的東西。我想弄清楚如何從SSIS項目中創建的增量ID插入數據到另一個表中。SSIS - 在導入時將數據/ ID插入到另一個表中

爲了進一步明確,有我的例子:

我有一個表稱爲用戶使用下面的值(縮短這個目的)

User ID Username 
======= ======== 
    1  jsmith 
    2  jjones 

我有另一個表稱爲使用UserPreferences與下列值

ID   Keyname   Keyvalue 
=======  ===========  ========= 
    1   Send a Report YES 
    2   Send a Report YES 

現在我已經描述d表中,我將使用SSIS將數據插入到用戶表中。用戶標識是用戶表中的標識字段。 ID也是userspreferences表中的標識字段。而且他們每個人都相互對應。

我想要做的是根據用戶表中生成的用戶標識,將數據插入userpreferences表。作爲一個例子,我通過導入插入一條記錄作爲用戶ID#3。然後我想將該ID插入用戶首選項表並插入鍵名和鍵值。只是爲了澄清,鍵名和鍵值不是文本文件的一部分。我想要將這些插入到項目中。

目前,我可以通過一些「後處理」通過T-SQL來實現我的目標。但我試圖在SSIS中更有效地做到這一點。加上這會幫助我很多,因爲我經常這樣做。

我試過研究這個,我認爲這可能對我有幫助:SSIS - Multiple table insert。但是,解決方案缺少屏幕截圖。有人可以幫助我完成這項任務。我將不勝感激。

回答

0

您可以在用戶表上轉換標識插入,並使用VB腳本組件轉換手動生成標識,以便它們在數據流中可供您加載到用戶首選項表中。雖然後處理可能是您最好的選擇,但只需構建一個執行SQL任務以在數據流完成後運行,並且它仍將是您的包的一部分。

+0

謝謝您的回覆。關於後處理更容易,你是對的。儘管我有一個問題給你。如果我添加一個執行SQL任務,我將如何獲得我已經導入的所有ID?或者你是否說我需要在導入之前計算並將它放置在那裏? – user1937434 2014-09-05 20:51:38

+0

我在想你有什麼樣的邏輯,根據你正在加載的用戶記錄中的一些數據,計算出在首選項表上放置什麼?你不能只是在加載後執行一條SQL語句來對這個表進行基於集合的插入嗎? – 2014-09-08 14:50:10

相關問題