共用方式為


Integration Services 變數

變數會儲存 SQL ServerIntegration Services 封裝及其容器、工作和事件處理常式在執行階段可使用的值。「指令碼」工作和「指令碼」元件中的指令碼也可以使用變數。將工作和容器排序成工作流程的優先順序條件約束,可在其條件約束定義含有運算式時使用變數。

您可將 Integration Services 封裝中的變數用於下列用途:

  • 在執行階段更新封裝元素的屬性。例如,您可以動態設定「Foreach 迴圈」容器允許的並行可執行檔數目。

  • 包含記憶體中的查閱資料表。例如,封裝可執行用以載入一個具有資料值之變數的「執行 SQL」工作。

  • 載入具有資料值的變數,然後將其用於指定 WHERE 子句中的搜尋條件。例如,「指令碼」工作中的指令碼可以更新 Transact-SQL 陳述式在「執行 SQL」工作中所使用的變數值。

  • 載入一個值為整數的變數,然後將該值用於控制封裝控制流程中的迴圈。例如,您可以使用「For 迴圈」容器之評估運算式中的變數來控制反覆運算。

  • 在執行階段擴展 Transact-SQL 陳述式的參數值。例如,封裝可執行「執行 SQL」工作,然後使用變數動態設定 Transact-SQL 陳述式中的參數。

  • 建立包含變數值的運算式。例如,「衍生的資料行」轉換可使用變數值乘以資料行值而取得的結果來擴展資料行。

Integration Services 支援兩種類型的變數:使用者自訂變數和系統變數。使用者自訂變數由封裝開發人員定義,而系統變數則由 Integration Services 定義。您可以根據封裝需要建立許多使用者自訂變數,但無法建立其他系統變數。

所有的變數 (系統變數和使用者自訂變數) 都可在「執行 SQL」工作用來將變數對應至 SQL 陳述式之參數的參數繫結中使用。如需詳細資訊,請參閱<執行 SQL 工作>和<在執行 SQL 工作中使用參數和傳回碼>。

[!附註]

使用者自訂變數和系統變數的名稱會區分大小寫。

您可以為下列所有 Integration Services 容器類型建立使用者自訂變數:封裝、「Foreach 迴圈」容器、「For 迴圈」容器、「時序」容器、工作和事件處理常式。使用者自訂變數是容器 Variables 集合的成員。

如果您使用「SSIS 設計師」建立封裝,則可以在「SSIS 設計師」之 [封裝總管] 索引標籤上的 [變數] 資料夾中,查看 Variables 集合的成員。資料夾會列出使用者自訂變數和系統變數。

您可以利用下列方式設定使用者自訂變數:

  • 提供變數的名稱和描述。

  • 指定變數的命名空間。

  • 指示其值變更時變數是否會引發事件。

  • 指示變數是唯讀還是可讀寫。

  • 使用運算式的評估結果,以設定變數值。

  • 建立封裝或封裝物件 (例如工作) 範圍內的變數。

  • 指定變數的值和資料類型。

系統變數上唯一可設定的選項是指定其變更值時,它們是否會引發事件。

針對不同的容器類型可使用一組不同的系統變數。如需有關封裝及其元素所使用之系統變數的詳細資訊,請參閱<系統變數>。

如需有關變數之真實生活使用狀況的詳細資訊,請參閱<在封裝中使用變數>。

命名空間

Integration Services 提供兩個命名空間:UserSystem。依預設,自訂變數屬於 User 命名空間,而系統變數則屬於 System 命名空間。您可以為使用者自訂變數建立其他命名空間,並變更 User 命名空間的名稱,但是您無法變更 System 命名空間的名稱,也無法將變數加入 System 命名空間或將系統變數指派給其他命名空間。

範圍

變數建立於封裝範圍之內,或封裝中的容器、工作或事件處理常式範圍之內。因為封裝容器位於容器階層的最上層,所以具有封裝範圍的變數在功能上與全域變數相同,且可以由封裝內的所有容器使用。同樣地,在容器 (例如「For 迴圈」容器) 範圍中定義的變數可由「For 迴圈」容器內的所有工作或容器使用。

如果封裝使用「執行封裝」工作來執行其他封裝,則在呼叫封裝或「執行封裝」工作範圍中定義的變數可用於所呼叫的封裝,方法是使用「父封裝變數」組態類型。如需詳細資訊,請參閱<封裝組態>。

使用者自訂變數值可以是常值或是運算式。變數包含設定變數值和該值之資料類型的選項。兩個屬性必須相容:例如,同時使用字串值和整數資料類型是無效的。

如果變數設定為做為運算式評估,則必須提供運算式。在執行階段會評估運算式,且會將變數值設定為評估結果。例如,如果變數使用運算式 DATEPART("month", GETDATE()) ,則變數的值將為目前日期所在之月份數。運算式必須是使用 SSIS 運算式文法語法的有效運算式。當運算式搭配變數使用時,運算式可以使用運算式文法提供的常值、運算子和函數,但是運算式無法參考封裝中資料流程的資料行。運算式的最大長度為 4000 個字元。如需詳細資訊,請參閱<Integration Services 運算式參考>。

設定變數

您可以透過「SSIS 設計師」或以程式設計方式設定屬性。

如需有關可在「SSIS 設計師」中設定之屬性的詳細資訊,請參閱<變數視窗>。

以程式設計方式設定變數

若要了解有關變數屬性和以程式設計方式設定這些屬性的詳細資訊,請參閱<Variable>。

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。