我正在尝试使用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