将表达式添加到优先约束

优先约束可用表达式定义两个可执行文件之间的约束:优先可执行文件和受约束的可执行文件。可执行文件可以是任务或容器。表达式可以单独使用,也可以与优先可执行文件的执行结果结合使用。可执行文件的执行结果或者为成功,或者为失败。配置优先约束执行结果时,可以将执行结果设置为 Success、Failure 或 Completion。Success 要求优先可执行文件成功;Failure 要求优先可执行文件失败;而 Completion 则指示无论优先任务成功或失败,受约束的可执行文件都应运行。有关详细信息,请参阅优先约束

表达式的值必须为 True 或 False,并且此表达式必须为有效的 Integration Services 表达式。此表达式可以使用文字、系统变量和自定义变量以及 SSIS 表达式语法提供的函数和运算符。例如,表达式 @Count == SQRT(144) + 10 使用了变量 Count、SQRT 函数以及等号 (==) 和加号 (+) 运算符。有关详细信息,请参阅 Integration Services 表达式参考

在下图中,使用一个执行结果和一个表达式的优先约束将任务 A 和任务 B 链接在一起。此约束值设置为 Success,表达式为 @X >== @Z。仅当任务 A 成功完成且变量 X 的值大于或等于变量 Z 的值时,受约束的任务 B 才运行。

两个任务之间的优先约束

也可以用包含不同表达式的多个优先约束来链接可执行文件。例如,在下图中,使用执行结果和表达式的优先约束将任务 B 和任务 C 链接到任务 A。两个约束的值都设置为 Success.,一个优先约束包含表达式 @X >== @Z,而另一个优先约束包含表达式 @X < @Z。变量 X 和变量 Z 的值决定是任务 C 运行还是任务 B 运行。

优先约束表达式

可使用 SSIS 设计器中的**“优先约束编辑器”**和 Business Intelligence Development Studio 提供的“属性”窗口来添加或修改表达式。但是,“属性”窗口不提供表达式语法验证。

如果优先约束包含表达式,那么在**“控制流”**选项卡的设计图面上会有一个图标出现在该优先约束旁边,图标上的 ToolTip 显示此表达式。

将执行值和表达式组合起来。

下表介绍把执行值约束和表达式组合在优先约束中的效果。

求值运算

约束的计算结果为

表达式的计算结果为

受约束的可执行文件运行

约束

True

True

约束

False

False

表达式

True

True

表达式

False

False

约束和表达式

True

True

True

约束和表达式

True

False

False

约束和表达式

False

True

False

约束和表达式

False

False

False

约束或表达式

True

True

True

约束或表达式

True

False

True

约束或表达式

False

True

True

约束或表达式

False

False

False

将表达式添加到优先约束

外部资源

social.technet.microsoft.com 上的技术文章 SSIS 表达式示例

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 或 TechNet 上的 Integration Services 页:

若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。