首页 > 其他分享 >SSIS【Foreach 循环容器_Foreach ADO 枚举器】(逐行读取某个表)

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

时间:2023-01-10 21:40:04浏览次数:48  
标签:容器 枚举 SSIS Foreach ADO id 逐行


SQL Server 2008 R2

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


1.创建如下表:

--  drop table mytab

create table mytab(id int ,name varchar(30))

insert into mytab values(1,'aaa'),(2,'bbb'),(3,'ccc'),(4,'ddd')

select * from mytab
/*
id name
---------
1 aaa
2 bbb
3 ccc
4 ddd
*/



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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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

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




标签:容器,枚举,SSIS,Foreach,ADO,id,逐行
From: https://blog.51cto.com/hzc2012/6000704

相关文章