我正在嘗試使用SSIS從舊系統到新系統進行數據遷移。我有表TableA
,TableB
和OldTable
。表如下:從插入獲取主鍵
TableA
- ID
- BusinessTypeEnum
- 其他
TableB
- ID
- TableB_ID(FK)
- PermitNumber
OldTable
- ID
- BusinessType
- PermitNumber
正如你可以看到,TableA
和TableB
(其在Ť他新系統)真的被分成兩個表格OldTable
。
我的問題是,爲了在TableB
中插入一條記錄,我需要知道PrimaryKey
是在TableA
中插入相應記錄時分配的。
我原本打算在嘗試將記錄插入表TableB
時執行LookUp
但是,TableA
中沒有存儲任何數據可以讓我返回。
任何想法?
一種方法是創建一個存儲過程來逐行執行此操作,並將其作爲SQL命令目標在您的包中調用。每行插入(或不插入)Table_A,使用scope_identity()函數收集ID,然後使用FK插入到Table_B中。另一種方法是使用臨時表。在一個批次中插入Table_A,生成FK,然後將它們更新回臨時表並插入臨時表(帶有派生FK) – 2014-12-04 23:50:09
@ Nick.McDermaid,您不需要在存儲過程中逐行處理你是否使用OUTPUT子句獲取信息。 – HLGEM 2014-12-05 16:41:05
相關[問答](http://stackoverflow.com/a/9709809/181965) – billinkc 2014-12-05 17:23:35