将表达式添加到优先级约束

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

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

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

两个任务之间的优先约束

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

优先约束表达式

可使用 设计器中的 “优先约束编辑器” SSIS 和 SQL Server Data Tools (SSDT) 提供的“属性”窗口来添加或修改表达式。 但是,“属性”窗口不提供表达式语法验证。

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

组合执行值和表达式

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

求值运算 约束的计算结果为 表达式的计算结果为 受约束的可执行文件运行
约束 真 实 真 实
约束
表达式 真 实 真 实
表达式
约束和表达式 真 实 真 实 真 实
约束和表达式 真 实
约束和表达式 真 实
约束和表达式
约束或表达式 真 实 真 实 真 实
约束或表达式 真 实 真 实
约束或表达式 真 实 真 实
约束或表达式

将表达式添加到前置约束条件中

外部资源

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

另请参阅

多个优先约束
优先约束