ssis - 在SSIS包中,如何插入主从记录?

标签 ssis insert identity master-detail

我有一项数据流任务,该任务从一个数据库中提取数据并将其插入到 SQL Server 数据库中。在主行中插入每条记录后,我还需要将行插入到详细表中。明细表的数据非常简单,可以计算。

  1. 插入后如何检索标识列的值?
  2. 如何生成必须插入到第二个表中的行?我可以在脚本中执行此操作吗?

我是否需要在控制流级别使用 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/

相关文章:

vim - Vim:<Ctrl-h | j | k | l>用于在插入模式下移动

python - "is"运算符对整数的行为异常

sql-server - 在派生列中嵌套 IF ELSE

sql-server - 在 Microsoft SQL 中的单个过程中获取对作业的调用和复杂选择的结果

sql-server - SSIS 数据错误地进入 excel 目的地

c# - ssis - 美化json字符串

windows - 如何以编程方式向该对话框添加项目?

php - 遍历目录中的所有 csv 文件,从每个文件中提取信息并将数据放入 mysql 数据库

mysql - 等效于 MySQL 中的 MSSQL IDENTITY 列

security - 身份管理