在執行 SQL 工作中將查詢參數對應到變數
此主題描述如何在「執行 SQL」工作中使用參數化 SQL 陳述式,以及建立 SQL 陳述式中變數和參數之間的對應。
若要深入了解有關搭配不同連接類型使用之執行 SQL 工作、參數標記和參數名稱的詳細資訊,請參閱<執行 SQL 工作>和<執行 SQL 工作中的參數和傳回碼>。
將查詢參數對應至變數
在 SQL Server Data Tools (SSDT) 中,開啟您要使用的 Integration Services 封裝。
在 [方案總管] 中,按兩下封裝將其開啟。
按一下 [控制流程] 索引標籤。
如果封裝尚未包含執行 SQL 工作,則會加入一個執行 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, …
從 [變數名稱] 清單中,選取一個變數。 如需詳細資訊,請參閱<加入、刪除、變更封裝中使用者定義變數的範圍>。
在 [方向] 清單中,指定參數是輸入、輸出還是傳回值。
在 [資料類型] 清單中,設定參數的資料類型。
重要事項 參數的資料類型必須與變數的資料類型相容。
針對 SQL 陳述式中的每個參數,重複步驟 8 到 11。
重要事項 參數對應的順序必須與參數在 SQL 陳述式中出現的順序相同。
按一下 [確定]。