在SSIS 中執行SQL 任務中將變數傳遞為參數
執行動態SQL 操作通常需要將變數作為參數傳遞,以使查詢更加通用。在 SSIS 套件中,當您需要將外部值傳遞給執行 SQL 任務中的臨時表建立查詢時,您會遇到這樣的場景。
問題:
考慮一個 SSIS 包,其中平面文件中的資料被插入到表中。在此套件中,執行 SQL 任務用於建立名為 ##temptable 的臨時表,其中包含特定列。接下來,資料將根據某些過濾條件插入##temptable。要求是使用 SSIS 套件中建立的變數動態傳遞這些過濾條件。
解決方案:
要實現動態參數傳遞,請如下設定執行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
以上是如何將 SSIS 變數作為參數傳遞給動態 SQL 的執行 SQL 任務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!