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

如何在 SSIS 執行 SQL 任務中將變數作為參數傳遞?

Linda Hamilton
Linda Hamilton原創
2025-01-06 18:16:40134瀏覽

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

在執行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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn