个人博客_百洋软件研究实验室
  • 您好!欢迎来到zhaolihong的博客

SSIS--FOR循环容器

(2009-09-17 17:25)
标签: ssis for循环容器 分类: 成长脚印

据说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 提供的四种用于生成包的容器。

容器 说明
Foreach 循环容器 通过使用枚举器重复运行控制流。
For 循环容器  通过测试某个条件重复运行控制流。
序列容器 将任务和容器分组到那些作为包控制流子集的控制流中。
任务宿主容器 为单个任务提供服务。

 


 

您可能会对以下文章感兴趣:
文件下载:
    无下载文件
阅读:102
发表评论

博主简介
  • zhaolihong
  • 博客积分:0分
  • 博客访问:1915次
  • 来自:
我要留言
公告
M1的光华在于管理理论\理论前沿\企业建模\约束理论\逻辑映射\...

评论

访客

链接