在執行SQL 任務SSIS 中將變數傳遞為參數
在SSIS 套件中涉及多個資料庫操作通常需要動態設定SQL 參數。 SSIS 中的執行 SQL 任務提供了一種實現此目的的便捷方法。
假設您有一個 SSIS 包,它從平面檔案中檢索資料並將其插入到資料庫表中,利用執行 SQL 任務建立臨時表使用參數化查詢。您的目標是透過傳遞指定日期、投資組合 ID 和股票類型作為變數的參數來使查詢動態化。
要在執行SQL 任務中完成此操作:
1.將SQLSourceType 設定為Direct Input
這表示SQL Statement 屬性將直接指定SQL 查詢。
2.在 SQL 語句中定義變數參數
修改 SQL 語句以使用問號 (?) 作為參數的佔位符。例如:
CREATE TABLE [tempdb].dbo.##temptable ( date datetime, companyname nvarchar(50), price decimal(10,0), PortfolioId int, stype nvarchar(50) ) Insert into [tempdb].dbo.##temptable (date,companyname,price,PortfolioId,stype) SELECT date,companyname,price,PortfolioId,stype FROM ProgressNAV WHERE (Date = ?) AND (PortfolioId = ?) AND (stype in (?)) ORDER BY CompanyName
3。將變數對應到參數
在「執行 SQL 任務」編輯器的「參數映射」部分中,新增 SQL 語句中的每個參數。然後,將每個參數對應到其對應的 SSIS 變數:
| Parameter | SSIS Variable | |---|---| | Date | @Date | | PortfolioId | @PortfolioId | | stype | @Stypet |
4。執行任務
執行後,執行 SQL 任務會將分配給這些變數的值注入到查詢中,確保檢索到適當的資料並將其插入臨時表中。
以上是如何在 SSIS 執行 SQL 任務中將變數作為參數傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!