我有一项数据流任务,该任务从一个数据库中提取数据并将其插入到 SQL Server 数据库中。在主行中插入每条记录后,我还需要将行插入到详细表中。明细表的数据非常简单,可以计算。
- 插入后如何检索标识列的值?
- 如何生成必须插入到第二个表中的行?我可以在脚本中执行此操作吗?
我是否需要在控制流级别使用 Foreach 循环来传输数据流任务中的父行,然后使用另一个 Foreach 循环来插入详细记录?
我可以在脚本中执行所有详细信息行插入吗?这可能比放入 Foreach 循环更容易。
最佳答案
这是一种方法..
创建一个对象类型的变量。
创建一个“执行 SQL 任务”来获取源数据并将其加载到变量 (ADO.NET) 中。
创建一个“ForEach 循环容器。
将成功连接器(绿色)从“执行 SQL 任务”拖到“ForEach 循环容器”。将循环容器上的枚举器更改为“foreach ADO 枚举器”,然后从“ADO 对象源变量”中选择变量。
在循环中,您应该能够添加可以使用的“执行 SQL 任务”..
您应该能够在插入主表后使用 SCOPE_IDENTITY() 获取每个 ID,并使用它插入到详细表中。
关于ssis - 在SSIS包中,如何插入主从记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/690772/