2009-07-10 18 views
0

SQLテーブルに対して更新ステートメントを実行するSSISパッケージにOLE DBコマンドコンポーネントがあります。さて、私の文は、当初のようなものです:「?」3SSISパッケージの動的クエリ

update myTable set columnA=?, columnB=? where columnC=? 

の別の条件分割コンポーネントから私のコンポーネントへの入力です。各列名を各入力パラメータ(?)とリンクすることができるので、列A = param0、列B = param1です。

今、私のクエリはより複雑です、私はする必要があります。

update myTable set columnA=(param1+param2), columnB=(param2) where columnC=param1*param2 

SSISでこれを行うにはどうすればよいですか?

答えて

2

なぜ更新コマンドの前に派生列があり、これらのフィールドを計算するだけではないのですか?

などの名前/値を持つ新しい列を作成します。
columnA =のparam1 + PARAM2:
columnB = PARAM2:
columnC = PARAM1 * PARAM2:次にupdateコマンドに出力をリダイレクトする

とそれらをパラメータとして使用します。このようにして、クエリーで計算を行う必要がなくなり、ISパッケージをよりクリーンにすることができます。

+0

はい、これが私のやり方です。 – Saobi

1

はい。これらの値を派生列変換で計算し、現在使用しているパラメータの代わりに使用してください。

関連する問題