SSIS之Foreach循环容器用法

时间:2021-10-05 07:14:10

要实现的业务:A数据库服务器上某库的T_GOODS_DECL的状态字段“Is_Delete”标记为“1”的时候删除B数据库服务器上对应库的T_GOODS_DECL表中的记录,二者的主键为“DECL_NO”。

总体设计图,实现原理:上一步骤将结果集传递到循环容器中,容器逐行取数据来执行容器里面的SQL任务。

SSIS之Foreach循环容器用法

第一步:建立“获取标记为已删除的DECL_NO”执行SQL任务

SSIS之Foreach循环容器用法

选择正确的数据连接器。

SSIS之Foreach循环容器用法

填写查询SQL语句。

SSIS之Foreach循环容器用法

结果集选项一定要选择“完整结果集”。

SSIS之Foreach循环容器用法

结果集对应中结果名称必须设为“0”,并新建对应的变量名。

SSIS之Foreach循环容器用法

新建的变量为object类型。

第二步:建立Foreach循环容器。

SSIS之Foreach循环容器用法

选择Foreach ADO 枚举器。

SSIS之Foreach循环容器用法

对象源变量选择之前定义的DeclNOs。

SSIS之Foreach循环容器用法

变量映射中,定义变量对应结果集中第一列数据,即索引0处。

SSIS之Foreach循环容器用法

变量定义为String类型即可。

第三步:建立“按照DECL_NO删除数据”执行SQL任务。

SSIS之Foreach循环容器用法

选择正确的数据连接器。

SSIS之Foreach循环容器用法

填写删除动作的SQL语句,“?”表示变量。

SSIS之Foreach循环容器用法

参数映射中选择正确的变量名,使“?”接收正确的值。

SSIS之Foreach循环容器用法

所有设置完成以后,点击“执行包”,即可成功。