Query DB を実行時にパラメータ化

Query DB ステージを設定して、実行時に WHERE 句に値を指定することができます。これは、 WHERE 句に使う列名をデータフロー オプションで設定できるようにしたい場合に便利です。

  1. Enterprise Designer でデータフローを開きます。
  2. [接続] フィールドと [テーブル/ビュー] フィールドを設定して、クエリの実行対象とするデータベースを指定します。
  3. [WHERE] フィールドには、パラメータ化する値を ${パラメータ} 形式で表した WHERE 文を入力します。
    例:
    ${COL}=${EmployeeID}

    ここで COL は、テーブルの列名を実行時に埋め込む Dataflow オプションを意味します。

  4. Query DB オプションのウィンドウを閉じます。
  5. ツールバー上のデータフロー オプション アイコンをクリックするか、[編集] > [データフロー オプション] をクリックします。[データフロー オプション] ウィンドウが表示されます。
  6. [追加] をクリックします。[データフロー オプションの定義] ウィンドウが表示されます。
  7. Query DB ステージを選択します。
  8. [オプション名][オプション ラベル] を指定します。
    [オプション名] フィールドは、WHERE 句に ${パラメータ} 形式で入力した値と同じにする必要があります。[オプション ラベル] フィールドで、オプションのラベル名を指定できます。オプション名とラベル名を同じにしてもかまいません。
    例: COL
  9. [デフォルト値] を指定します。例: "EmpID".
  10. [OK] をクリックします。
この手順で、実際のデータベースの列名、つまり EmpID が実行時にオプション名 "COL" に対応付けられます。データベースの列名は、使用するデータベースで有効な引用符識別子を使って適切に囲む必要があります。