ストアド プロシージャを実行する

この例では、データベース接続を使用しているときにストアド プロシージャを実行する方法を示します。 この例では、次のコンセプトを理解していることを前提としています。

データベース接続内のすべてのストアド プロシージャは、コネクタタスクのアクションとして公開されます。アクションは、コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションは、それを使用することで 1 つまたは複数のエンティティに対して変更を加えることができ、またコネクタごとに異なるものです。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions リストが空になります。

次のコネクタは、ストアド プロシージャをサポートしています。

customers データベースから顧客情報を取得する次のストアド プロシージャを含む MySQL データベースがあるとします。

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. 統合に Connectors タスクを追加します。
  4. [設定] セクションで、[タスクの設定] をクリックして [コネクタタスクの設定] ペインを開きます。
  5. ステップ 1 で作成した接続を使用するように Connectors タスクを構成します。
    1. [接続] 列で、使用可能な接続のリストから必要な接続を選択します。

      接続を選択すると、[タイプ] 列に EntitiesActions の値が表示されます。すべてのストアド プロシージャは、[Actions] に表示されます。

    2. [Actions] > [get_customer_info] を選択します。
    3. [完了] をクリックして接続の構成を完了し、ペインを閉じます。
  6. Connectors タスク要素をクリックし、Task Input セクションで connectorInputPayload をクリックします。
  7. Default Value フィールドに次の JSON ペイロードを指定します。
    {
    "customer_id": 1001
    }
  8. 統合エディタのツールバーで、[Test] ボタンをクリックして統合を実行します。

    統合が正常に実行されると、connectorOutputPayload Vairable は次のような JSON ペイロードを持ちます。

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