2009-09-22 47 views
0

我與我的老闆在一起,我們遇到了SSIS項目的問題。 是DataModel的很爛,沒有一個自動的主鍵,所以我們必須從客戶使用SSIS生成主鍵時出現問題

的問題做了經典的和討厭

選擇MAX(ID)+ 1是的那一刻起,我的腳本任務生成PK的時刻,我插入那裏有10行已成爲我的腳本任務,所以我得到10次相同的ID和應用程序崩潰大時間!

怎麼可能在SSIS?

回答

0

我得到了一個簡單的答案我正確的把我的記錄,我想插入一個DataSet沒有任何PK ID和外部我的數據流我做了一個foreach循環,得到foreach記錄一個新的PK ID並插入一個接一個。

完成!

0

創建一個TempWork表,具有與最終目標表相同的精確結構,除了使PK成爲IDENTITY(n,1),其中「n」是基於最終目標表的PK的下一個值。使用SSIS插入到此TempWork表中,並且將爲您生成ID。當它全部完成,這樣做:

INSERT INTO FinalTable (PK,col1, col2,...) SELECT PK, col1, col2... from TempWork 

然後DROP TABLE TempWork

相關問題