在執行 SQL 工作中將查詢參數對應到變數

此主題描述如何在「執行 SQL」工作中使用參數化 SQL 陳述式,以及建立 SQL 陳述式中變數和參數之間的對應。

若要深入了解有關搭配不同連接類型使用之執行 SQL 工作、參數標記和參數名稱的詳細資訊,請參閱<執行 SQL 工作>和<執行 SQL 工作中的參數和傳回碼>。

將查詢參數對應至變數

  1. 在 SQL Server Data Tools (SSDT) 中,開啟您要使用的 Integration Services 封裝。

  2. 在 [方案總管] 中,按兩下封裝將其開啟。

  3. 按一下 [控制流程] 索引標籤。

  4. 如果封裝尚未包含執行 SQL 工作,則會加入一個執行 SQL 工作至封裝的控制流程。 如需詳細資訊,請參閱<在控制流程中加入或刪除工作或容器>。

  5. 按兩下執行 SQL 工作。

  6. 以下列方式的其中之一提供參數化 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 工作中的參數和傳回碼>。

  7. 按一下 [參數對應]

  8. 若要加入參數對應,請按一下 [加入]

  9. [參數名稱] 方塊中提供名稱。

    您所使用的參數名稱需視「執行 SQL」工作所使用的連接類型而定。

    連接類型

    參數名稱

    ADO

    Param1, Param2, …

    ADO.NET 和 SQLMOBILE

    @<參數名稱>

    ODBC

    1, 2, 3, …

    EXCEL 和 OLE DB

    0, 1, 2, 3, …

  10. [變數名稱] 清單中,選取一個變數。 如需詳細資訊,請參閱<加入、刪除、變更封裝中使用者定義變數的範圍>。

  11. [方向] 清單中,指定參數是輸入、輸出還是傳回值。

  12. [資料類型] 清單中,設定參數的資料類型。

    重要事項重要事項

    參數的資料類型必須與變數的資料類型相容。

  13. 針對 SQL 陳述式中的每個參數,重複步驟 8 到 11。

    重要事項重要事項

    參數對應的順序必須與參數在 SQL 陳述式中出現的順序相同。

  14. 按一下 [確定]

請參閱

概念

執行 SQL 工作

執行 SQL 工作中的參數和傳回碼

Integration Services (SSIS) 變數