目次

Search

  1. はじめに
  2. トランスフォーメーションに関する作業
  3. アグリゲータトランスフォーメーション
  4. カスタムトランスフォーメーション
  5. カスタムトランスフォーメーション関数
  6. データマスキングトランスフォーメーション
  7. データマスキングの例
  8. 式トランスフォーメーション
  9. エクスターナルプロシージャトランスフォーメーション
  10. フィルタトランスフォーメーション
  11. HTTPトランスフォーメーション
  12. ID解決トランスフォーメーション
  13. Javaトランスフォーメーション
  14. JavaトランスフォーメーションAPIのリファレンス
  15. Java式
  16. Javaトランスフォーメーションの例
  17. ジョイナトランスフォーメーション
  18. ルックアップトランスフォーメーション
  19. ルックアップキャッシュ
  20. 動的ルックアップキャッシュ
  21. ノーマライザトランスフォーメーション
  22. ランクトランスフォーメーション
  23. ルータトランスフォーメーション
  24. シーケンスジェネレータトランスフォーメーション
  25. ソータトランスフォーメーション
  26. ソース修飾子トランスフォーメーション
  27. SQLトランスフォーメーション
  28. マッピングにおけるSQLトランスフォーメーションの使用
  29. ストアドプロシージャトランスフォーメーション
  30. トランザクション制御トランスフォーメーション
  31. 共有体トランスフォーメーション
  32. 構造化されていないデータのトランスフォーメーション
  33. アップデートストラテジトランスフォーメーション
  34. XMLトランスフォーメーション

トランスフォーメーションガイド

トランスフォーメーションガイド

式のルール

式のルール

コネクトされていないストアードプロシージャトランスフォーメーションは、別のトランスフォーメーション内の式から呼び出すことができます。式を設定するときは、次の規則とガイドラインに従う必要があります。
  • 1つの出力パラメータがPROC_RESULT変数を使って返されます。
  • 式内でストアドプロシージャを使用するときは、:SP参照修飾子を使用します。タイプミスを防ぐためには、式のエディタ内で[ストアドプロシージャ]ノードを選択し、ストアドプロシージャの名前をダブルクリックします。
  • ただし、1つのストアードプロシージャトランスフォーメーションの同じインスタンスを1つのマッピング内でコネクトされたモードとコネクトされていないモードの両方で実行することはできません。その場合は、トランスフォーメーションのインスタンスを別個に作成する必要があります。
  • 式内の入出力パラメータは、ストアードプロシージャトランスフォーメーション内の入出力ポートと一致しなければなりません。ストアドプロシージャに入力パラメータがある場合は、ストアードプロシージャトランスフォーメーションにも入力ポートがなければなりません。
  • ストアドプロシージャを含める式を書く場合は、ストアドプロシージャおよびストアードプロシージャトランスフォーメーションに示されているのと同じ順にパラメータを記述する必要があります。
  • 式のパラメータには、ストアードプロシージャトランスフォーメーションのすべてのパラメータを含まなければなりません。入力パラメータを省略することはできません。必要であれば、ダミーの変数をストアドプロシージャに渡します。
  • 式内の引数は、ストアードプロシージャトランスフォーメーションの引数と同じデータタイプおよび精度を持たなければなりません。
  • PROC_RESULTを使用して、ストアドプロシージャの式の出力パラメータをターゲットへ直接適用します。出力パラメータに変数を使用して結果をターゲットへ直接渡すことはできません。同じトランスフォーメーション内で結果を出力ポートへ渡すにはローカル変数を使用します。
  • ストアドプロシージャをネストすることにより、1つのストアドプロシージャの戻り値を別のストアドプロシージャの入力パラメータとして渡すことができます。たとえば次の2つのストアドプロシージャがあるとします。
    • get_employee_id (employee_name)
    • get_employee_salary (employee_id)
      get_employee_idの戻り値が従業員ID番号であるとします。このストアドプロシージャを次のようにネストすることができます。
      :sp.get_employee_salary (:sp.get_employee_id (employee_name))
      ストアドプロシージャは、複数レベルでネストすることができます。
  • 文字列のパラメータを一重引用符で囲んではなりません。空白を含まない入力パラメータに対しては、引用符を使用しません。入力パラメータに空白が含まれる場合は、二重引用符を使用します。