執行預存程序

本例說明如何在使用資料庫連線時執行預存程序。本範例假設您熟悉下列概念:

資料庫連線中的所有儲存程序會在 Connector 工作中以動作的形式提供給您。動作是第一類函式,可透過連接器介面提供整合功能。動作可讓您變更實體或多個實體,且因連接器而異。不過,連接器可能不支援任何動作,在這種情況下,Actions 清單會為空白。

下列連接器支援儲存程序:

範例

假設您有一個 MySQL 資料庫,其中包含以下預存程序,可從 customers 資料表取得客戶資訊:

CREATE PROCEDURE get_customer_info
(IN p_customer_id INT, OUT p_name VARCHAR(50), OUT p_email VARCHAR(255))
BEGIN
    SELECT name, email INTO p_name, p_email
    FROM customers
    WHERE id = p_customer_id;
END

這個預存程序會傳回指定客戶的名稱和電子郵件地址。這個函式會透過 p_customer_id 輸入變數擷取客戶 ID,並分別在 p_namep_email 輸出變數中傳回名稱和電子郵件地址。

假設您想使用 customer_id=1001 取得客戶的名稱和電子郵件 ID,就必須執行下列工作:

  1. 建立 連線至 MySQL 資料庫
  2. 開啟或建立新的整合
  3. 連接器工作新增至整合項目。
  4. 在「設定」部分中,按一下「設定任務」,開啟「設定連接器任務」窗格。
  5. 設定連接器工作,以便使用您在步驟 1 中建立的連線。
    1. 在「Connection」欄中,從可用連線清單中選取所需連線。

      選取連線後,系統會顯示「Type」欄,並顯示 EntitiesActions 值。所有儲存程序都會列在「動作」中。

    2. 依序選取「動作」>「get_customer_info」
    3. 按一下「完成」,完成連線設定並關閉窗格。
  6. 按一下 Connectors 任務元素,然後點選 Task Input 部分中的 connectorInputPayload
  7. Default Value 欄位中指定下列 JSON 酬載:
    {
    "customer_id": 1001
    }
  8. 按一下整合服務編輯器工具列中的「Test」按鈕,即可執行整合作業。

    如果整合作業順利完成,connectorOutputPayload 變數就會包含類似以下的 JSON 酬載:

    {
    "name": "John",
    "email": "john@test.com"
    }