您的位置:首页 > 其它

SSIS--FOR循环容器

2010-09-29 09:22 190 查看
据说SSIS之前的版本叫做DTS,但是我是在认识了ssis之后才听说DTS的,使用ssis也有一段时间了,也觉得挺好用的,慢慢的发现,不得了,Ssis涉及的东西非常之多。我那根本就不叫会用ssis
之前大力哥做的数据仓库抽取用过一个For循环容器,大体明白它的工作原理,但一直没有仔细的看过,俗话说基础最重要,俗话又说细节决定成败。我还是需要仔细的研究一下For循环容器这里面的细节和基础的。

FOR循环容器是用来定义ssis包中的重复控制流的。该容器实现循环的原理类似于编程语言中的FOR循环结构。循环每次重复时,FOR循环容器都计算一个表达式并重复运行其工作流,直到表达式计算结果为false。

那么,for循环容器使用哪些元素来定义循环呢?分别是为循环计数器赋值的可选初始化表达式,如@Counter = 0。包含用于测试循环应停止还是继续的表达式的求值表达式,如@Counter < 4。还有递增或递减循环计数器的可选迭代表达式,如@Counter = @Counter + 1。
可以使用赋值运算符“=”来创建初始化和赋值表达式。但是“=”在Integration Services其他方面的表达式语法中是不支持的,只能在For循环容器中初始化和赋值表达式类型使用。表达式可以包含SSIS 表达式语法支持的变量、文字以及任何运算符和函数。表达式的计算结果的数据类型必须能够转换为变量的数据类型。
一个 For 循环容器只能有一个求值表达式。这意味着For 循环容器对所有其控制流元素运行相同次数。因为 For 循环容器可以包含其他 For 循环容器,所以可以在包中构建嵌套循环和实现复杂循环。
还可以为 For 循环容器设置一个事务属性,为包控制流的子集定义一个事务。采用这种方法,可以更详细地管理事务。例如,如果 For 循环容器多次重复一个更新表中数据的控制流,则可以配置 For 循环及其控制流,让它们使用一个事务来确保数据只有在全部数据都成功更新后才更新。

附:Integration Services 提供的四种用于生成包的容器
本文出自 “oecp社区” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: