目次

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トランスフォーメーション

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

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

静的SQLクエリの使用

静的SQLクエリの使用

各入力行に対して同じクエリ文を実行する必要があるが、クエリ内のデータを入力行ごとに変更する場合、静的SQLクエリを作成します。静的SQLクエリを作成する場合、SQLエディタでパラメータのバインドを使用して、クエリデータのパラメータを定義します。
クエリ内のデータを変更するには、クエリパラメータを設定し、これらのパラメータをトランスフォーメーションの入力ポートにバインドします。パラメータを入力ポートにバインドする場合、クエリにポート名を指定します。SQLエディタでは、名前は疑問符(?)で囲まれます。クエリデータは、入力ポートのデータの値に基づいて変更されます。
SQLトランスフォーメーションの入力ポートは、クエリ内のデータ値のデータ、またはクエリのWHERE句の値を受け取ります。
以下の静的クエリでは、パラメータのバインドが使用されています。
DELETE FROM Employee WHERE Dept = ?Dept? INSERT INTO Employee(Employee_ID, Dept) VALUES (?Employee_ID?, ?Dept?) UPDATE Employee SET Dept = ?Dept? WHERE Employee_ID > 100
以下の静的SQLクエリには、SQLトランスフォーメーションのEmployee_IDおよびDept入力ポートにバインドするクエリパラメータがあります。
SELECT Name, Address FROM Employees WHERE Employee_Num =?Employee_ID? and Dept = ?Dept?
ソースに以下の行があるとします。
Employee_ID  
Dept   
100
Products
123
HR
130
Accounting
Integration Serviceによって、行から以下のクエリ文が生成されます。
SELECT Name, Address FROM Employees WHERE Employee_ID = ‘100’ and DEPT = ‘Products’ SELECT Name, Address FROM Employees WHERE Employee_ID = ‘123’ and DEPT = ‘HR’ SELECT Name, Address FROM Employees WHERE Employee_ID = ‘130’ and DEPT = ‘Accounting’