2017-08-10 5 views
0

以下は、私のシナリオをよりよく説明するための例です。私のデータベーステーブルは、列次有する カラム-1:電話 カラム-4:アドレス カラム-5:-3 列名: カラム-2(プライマリーキーである)Operating_ID開始日 カラム-6:終了日付SSIS-主キーが既に存在する行のいくつかの列を更新します。

列の値は、抽出物から来る1,2,3,4及びこの抽出物は、毎日の列5及び6の値が入力されたユーザであるSSISデータフロータスク

を使用してデータベースにプッシュされますウェブアプリケーションから取得し、データベースに保存します。

プライマリキーエラーに違反するのではなく、SSISプロセスでプライマリキー、つまりカラム1がすでに存在する場合は、カラム2,3,4を更新する必要があります。 最初に私は取り替えと考えていましたが、それはユーザーが入力したデータ列4,5を削除します。 カラム1がすでに存在する場合は、カラム4,5にデータを保持し、カラム2,3,4を更新したいと考えています。

答えて

1

Operating_IDのLOOKUPを実行します。一致が見つかった場合、一致が見つからない場合は

「NO MATCHに行をリダイレクト」する「に見つからないFAIL」からその参照を変更し、UPDATEに行き、INSERT

に行きます。 OLAPコマンドを実行して更新することはできますが、大きなデータセットの場合は、テーブルに入れたほうがよいでしょう。UPDATE with a JOIN

0

これは私がやることです。すべてのデータをステージングテーブルに入れます。次に、データフローを使用して新しいレコードを挿入し、そのデータフローのソースは、prodテーブルを参照するnot exists句を持つステージングテーブルになります。

次に、コントロールフローでSQL実行タスクを使用して、既存の行のデータを更新します。

関連する問題