首頁 > 資料庫 > mysql教程 > 如何將 SSIS 變數作為參數傳遞給動態 SQL 的執行 SQL 任務?

如何將 SSIS 變數作為參數傳遞給動態 SQL 的執行 SQL 任務?

Patricia Arquette
發布: 2025-01-06 18:17:43
原創
823 人瀏覽過

How to Pass SSIS Variables as Parameters to an Execute SQL Task for Dynamic SQL?

在SSIS 中執行SQL 任務中將變數傳遞為參數

執行動態SQL 操作通常需要將變數作為參數傳遞,以使查詢更加通用。在 SSIS 套件中,當您需要將外部值傳遞給執行 SQL 任務中的臨時表建立查詢時,您會遇到這樣的場景。

問題:

考慮一個 SSIS 包,其中平面文件中的資料被插入到表中。在此套件中,執行 SQL 任務用於建立名為 ##temptable 的臨時表,其中包含特定列。接下來,資料將根據某些過濾條件插入##temptable。要求是使用 SSIS 套件中建立的變數動態傳遞這些過濾條件。

解決方案:

要實現動態參數傳遞,請如下設定執行SQL 任務:

  1. 將SQLSourceType 設定為「直接輸入」。
  2. 在SQL 中語句,指定預存程序名稱以及每個參數的問號,例如:
CREATE PROCEDURE [dbo].[usp_temptable]
(
    @date DATETIME,
    @portfolioId INT,
    @stype NVARCHAR(50)
)
AS
BEGIN
    INSERT INTO [tempdb].dbo.##temptable (date, companyname, price, PortfolioId, stype)
    SELECT   date, companyname, price, PortfolioId, stype
    FROM        ProgressNAV
    WHERE     (Date = @date) AND (PortfolioId = @portfolioId) AND (stype in (@stype))
    ORDER BY CompanyName
END
登入後複製
  1. 按一下參數對應選項,建立每個預存程序參數與對應的SSIS 變數。
  2. 使用將在任務執行期間傳遞給預存程序的所需值來配置 SSIS 變數。

以上是如何將 SSIS 變數作為參數傳遞給動態 SQL 的執行 SQL 任務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板