単価およびパッケージ価格データをProd_Costテーブルに挿入する動的SQLクエリは、SQLトランスフォーメーションによって実行されます。SQLトランスフォーメーションのUnitPrice_QueryポートおよびPkgPrice_Queryポート内には、更新対象のカラム名が受け取られます。
SQLトランスフォーメーションの作成時には、トランスフォーメーションモード、データベースタイプ、および接続タイプを定義します。モードまたは接続タイプは、SQLトランスフォーメーションの作成後に変更不能になります。
SQLトランスフォーメーションの作成には、次のプロパティが使用されます。
クエリモード。
SQLトランスフォーメーションによって、動的SQLクエリが実行されます。
静的接続。
SQLトランスフォーメーションは、Workflow Manager内で定義されている接続オブジェクトを使用して、データベースに1回接続します。
以下の図は、SQLトランスフォーメーションの[ポート]タブを示しています。[SQLクエリ]と[クエリの説明]があります。
SQLトランスフォーメーションは、UnitPrice_QueryポートおよびPkgPrice_Queryポート内に受け取られたカラム名に基づいてProd_Costテーブル内のPkgPriceカラム1つとUnitPriceカラム1つを更新する、動的SQLクエリを備えています。
SQLトランスフォーメーションでのクエリーを次に挙げます。
Update Prod_Cost set ~UnitPrice_Query~= ?UnitPrice?, ~PkgPrice_Query~ = ?PkgPrice? where ProductId = ?ProductId?;
SQLトランスフォーメーションによって、UnitPrice_QueryおよびPkgPrice_Query文字列変数が更新対象カラム名に置換され、
クエリー内のProductId、UnitPrice、およびPkgPriceパラメータが、対応するポート内に受け取られるデータにバインドされます。
例として、製品100の単価およびパッケージ価格を含むソース行を次に挙げます。
100,M,100,110
PriceCodeが"M"なら、価格は製造価格です。更新対象のMUnitpriceおよびMPkgPriceカラム名は、式トランスフォーメーションからSQLトランスフォーメーションに渡されます。
SQLトランスフォーメーションによって、次のクエリーが実行されます。
Update Prod_Cost set MUnitprice = 100, MPkgPrice = 110 where ProductId = ‘100’;
製品100の卸売価格を含むソース行は、次のとおりです。
100,W,120,200
WUnitpriceおよびWPkgPriceのカラム名は、式トランスフォーメーションからSQLトランスフォーメーションに渡されます。SQLトランスフォーメーションによって、次のクエリーが実行されます。
Update Prod_Cost set WUnitprice = 120, WPkgPrice = 200 where ProductId = ‘100’;