BI 问号和foreach loop中的index=0

http://www.cnblogs.com/zzkun/p/4580673.html

SSIS之Foreach循环容器用法

 

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

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

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

选择正确的数据连接器。

填写查询SQL语句。

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

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

新建的变量为object类型。

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

选择Foreach ADO 枚举器。

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

变量映射中,定义变量对应结果集中第一列数据,即索引0处。(如果select很多列,每一次foreach出来的是以行为单位的,显示一行的 第几列),index在此时就是某一行中的某个列。

然而对于foreach的源是file system的就不行了。 index是某个file的来源,每次本来就只读一个文件,所以index每次就是0,就算你设置了index为2,3,4,5,其实应该报错的,但是他有包容措施,读取的还是第一个index=0的内容

 

 

 

变量定义为String类型即可。

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

选择正确的数据连接器。

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

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

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

 

posted @   阿玛  阅读(361)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示