優先順序條件約束可以使用表示式來定義兩個可執行檔之間的條件約束:優先順序可執行檔和限制可執行檔。 可執行檔可以是工作或容器。 表達式可以單獨使用或結合優先順序可執行檔的執行結果。 可執行檔的執行結果為成功或失敗。 當您設定優先權條件約束的執行結果時,可以將執行結果設定為 Success、 Failure或 Completion。
Success 要求優先順序的可執行檔必須成功,Failure 要求優先順序的可執行檔必須失敗,並 Completion 表明受限的可執行檔無論優先順序任務成功或失敗都應執行。 如需詳細資訊,請參閱 優先順序條件約束。
表達式必須評估為 True 或 False ,而且必須是有效的 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. One 優先順序條件約束包含表示式 @X >== @Z,而其他優先順序條件約束則包含表示式 @X < @Z。 根據變數 X 和變數 Z 的值,工作 C 或工作 B 將執行。
您可以使用 SSIS 設計師中的 優先順序條件約束編輯器 ,以及 SQL Server Data Tools (SSDT) 所提供的 [屬性] 視窗,來新增或修改表達式。 不過,[屬性] 視窗不提供表達式語法的驗證。
如果優先順序條件約束包含表達式,則圖示會出現在 [控制流程 ] 索引標籤的設計介面上、優先順序條件約束旁,圖示上的工具提示會顯示表達式。
結合執行值和表達式
下表描述在優先順序條件約束中結合執行值條件約束和表達式的效果。
| 評估作業 | 限制條件評估為 | 表達式評估為 | 限制可執行檔執行 |
|---|---|---|---|
| 限制 | 對 | N/A | 對 |
| 限制 | 否 | N/A | 否 |
| 表現 | N/A | 對 | 對 |
| 表現 | N/A | 否 | 否 |
| 約束和表達式 | 對 | 對 | 對 |
| 限制和表達式 | 對 | 否 | 否 |
| 約束與表達式 | 否 | 對 | 否 |
| 限制和表達式 | 否 | 否 | 否 |
| 條件約束或表達式 | 對 | 對 | 對 |
| 條件約束或表達式 | 對 | 否 | 對 |
| 限制或表達式 | 否 | 對 | 對 |
| 約束或表達式 | 否 | 否 | 否 |
將表達式新增至優先順序條件約束
外部資源
social.technet.microsoft.com 上的技術文章 SSIS 運算式範例