SSIS【Foreach 循环容器_Foreach ADO 枚举器】(逐行读取某个表)

来源:互联网 发布:通信软件培训教材 编辑:程序博客网 时间:2024/05/06 19:31

SQL Server 2008 R2

SSIS_Foreach 循环容器_Foreach ADO 枚举器(逐行读取某个表)


1.创建如下表:

--drop table mytabcreate table mytab(id int ,name varchar(30))insert into mytab values(1,'aaa'),(2,'bbb'),(3,'ccc'),(4,'ddd')select * from mytab/*idname---------1aaa2bbb3ccc4ddd*/

2. 创建如下图的控制流。以下操作意思是:执行sql查询某个表,将结果集传递到循环容器中,容器逐行取数来执行里面的sql任务。



3.编辑 最上面那个【执行 SQL 任务】,输入相关查询参数,选择【完整结果集】:



4.在选择【结果集】中,创建一个变量,类型为【Object】,结果名称为 “0”(结果集类型为完整结果集或XML,则必须使用 0 作为结果集名称)



5.好了,现在编辑【Foreach 循环容器】,选择【Foreach ADO 枚举器】,ADO对象源变量为【User::var_myResult】,枚举模式为【第一个表中的行】



6.创建一个整型变量id,索引取0,则为第一列,第一列类型id为整型。循环容器编辑完成!



7.编辑容器内的平【执行 SQL 任务】,设置如下。因为逐行取的只有id,所以我按id更新某个表。



8.参数映射中添加变量,传递变量为id,id为整型int,所以取类型long。参数名称为0,即第一个问号,多个参数可按顺序去名称。



9.设计完成!运行!结果如下:





原创粉丝点击