Share via


將運算式加入優先順序條件約束

更新: 2008 年 11 月 17 日

優先順序條件約束可以使用運算式來定義兩個可執行檔之間的條件約束:優先順序可執行檔與受條件約束的可執行檔。可執行檔可以是工作或容器。運算式可以單獨使用,或與優先順序可執行檔的執行結果組合使用。可執行檔的執行結果為成功或失敗。設定優先順序條件約束的執行結果時,可以將執行結果設為 SuccessFailureCompletionSuccess 表示優先順序可執行檔必須執行成功;Failure 表示優先順序可執行檔必須執行失敗;Completion 則指示不論優先順序工作成功與否,受條件約束的可執行檔都應該執行。如需詳細資訊,請參閱<優先順序條件約束>。

運算式必須評估為 TrueFalse,且必須是有效的 SQL Server 2005 Integration Services (SSIS) 運算式。運算式可以使用常值、系統及自訂變數,以及 SSIS 運算式文法提供的函數與運算子。例如,運算式 @Count == SQRT(144) + 10 使用變數 Count、SQRT 函數及等於 (==) 和加 (+) 運算子。如需詳細資訊,請參閱<Integration Services 運算式參考>。

在下圖中,工作 A 及工作 B 由使用執行結果及運算式的優先順序條件約束連結。條件約束值設為 Success 且運算式為 @X >== @Z。工作 B (受條件約束的工作) 只在工作 A 順利完成且變數 X 的值大於或等於變數 Z 的值時執行。

兩個工作之間的優先順序條件約束

可執行檔也可以使用包含不同運算式的多個優先順序條件約束來連結。例如在下圖中,工作 B 和 C 由使用執行結果及運算式的優先順序條件約束連結至工作 A。兩個條件約束值都設為 Success.。一個優先順序條件約束包含運算式 @X >== @Z,另一個優先順序條件約束包含運算式 @X < @Z。視變數 XZ 的值而定,工作 C 或工作 B 會執行。

優先順序條件約束上的運算式

使用「SSIS 設計師」中的 [優先順序條件約束編輯器] 及 Business Intelligence Development Studio 提供的 [屬性] 視窗,可以加入或修改運算式。然而,[屬性] 視窗不提供運算式語法的驗證。

如果優先順序條件約束包含運算式,則會在 [控制流程] 索引標籤之設計介面上優先順序條件約束的旁邊出現圖示,且圖示上的工具提示會顯示運算式。

組合執行值與運算式

下表描述將執行值條件約束與優先順序條件約束中的運算式進行組合的影響。

評估作業 條件約束評估為 運算式評估為 受條件約束的可執行檔執行

條件約束

True

N/A

True

條件約束

False

N/A

False

運算式

N/A

True

True

運算式

N/A

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

若要將運算式加入至優先順序條件約束

請參閱

工作

設定工作和容器的優先順序條件約束

概念

套用多個優先順序條件約束

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2008 年 11 月 17 日

變更的內容:
  • 更新有關受條件約束之可執行檔是否執行的資料表中最後三個資料列的值。