本主題描述如何在執行 SQL 工作中使用參數化 SQL 語句,並在 SQL 語句中建立變數和參數之間的對應。
若要深入瞭解執行 SQL 工作、參數標記,以及搭配不同連接類型使用的參數名稱,請參閱執行 SQL 工作和在執行 SQL 工作中的參數和傳回碼。
將查詢參數對應至變數
在 SQL Server Data Tools (SSDT) 中,開啟您想要處理的 Integration Services 套件。
在 [方案總管] 中,按兩下封裝將其開啟。
按一下 控制流程 標籤。
如果封裝尚未包含「執行 SQL」工作,請將一個新增至封裝的控制流程。 如需詳細資訊,請參閱 在控制流程中新增或刪除工作或容器
.按兩下 [執行 SQL] 工作。
以下列其中一種方式提供參數化的 SQL 命令:
使用直接輸入,並在 SQLStatement 屬性中輸入 SQL 命令。
使用直接輸入,按兩下 [建置查詢],然後使用查詢產生器提供的圖形化工具建立 SQL 命令。
使用檔案連接,然後參考包含 SQL 命令的檔案。
使用變數,然後參考包含 SQL 命令的變數。
您在參數化 SQL 語句中使用的參數標記取決於執行 SQL 工作所使用的連接類型。
連接類型 參數標記 ADO ? ADO.NET 和 SQLMOBILE @<參數名稱> ODBC ? EXCEL 和 OLE DB ? 下表列出依連接管理員類型的SELECT命令範例。 參數會提供 WHERE 子句中的篩選值。 這些範例會使用 SELECT 傳回 AdventureWorks2012中 Product 數據表的產品,其 ProductID 大於和小於兩個參數所指定的值。
連接類型 SELECT 語法 EXCEL、ODBC 和OLEDB SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?ADO SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?ADO.NET SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID如需搭配預存程式使用參數的範例,請參閱 執行 SQL 工作中的參數和傳回碼。
按一下 參數對應。
若要新增參數對應,請按兩下 [ 新增]。
在 [ 參數名稱 ] 方塊中提供名稱。
您使用的參數名稱取決於執行 SQL 工作所使用的連接類型。
連接類型 參數名稱 ADO Param1、Param2、... ADO.NET 和 SQLMOBILE @<參數名稱> ODBC 1, 2, 3, ... EXCEL 和 OLE DB 0, 1, 2, 3, ... 從 [ 變數名稱] 清單中,選取變數。 如需詳細資訊,請參閱 在封裝中新增、刪除、變更 User-Defined 變數的範圍。
在 Direction 清單中,指定參數是否為輸入、輸出或傳回值。
在 [ 數據類型] 清單中,設定 參數的數據類型。
這很重要
參數的數據類型必須與變數的數據類型相容。
針對 SQL 語句中的每個參數重複步驟 8 到 11。
這很重要
參數對應的順序必須與參數出現在 SQL 語句中的順序相同。
按一下 [確定]。