2017-01-19 5 views
3

2つの異なるデータベースに2つのテーブルがあります。SSIS - 他のテーブルに特定の値のデータが含まれている場合にテーブルを切り捨てます

表AデータベースからAにデータが含まれており、特定の値が特定の列に書き込まれると、私はデータベースBにテーブルBを切り捨てる必要と

だから表Bに、表Aからデータをコピーした場合テーブルAは次のようになります。

ID | column2 
1 | null 
2 | null 
3 | null 

私たちは何もしません。

テーブルAが

ID | column2 
1 | value 
2 | value 
3 | value 

のように見える場合は、表Bは、私はSQL実行タスクでこれを試してみましたが、唯一の作品ということ切り捨てられますし、テーブルからデータをAがテーブルB

にコピーされますすべてのテーブルが同じデータベースのものである場合

訴訟はありますか?

答えて

3

あなたはSSIS内これを実行しようとしている場合は、あなたの基準を満たしてTable A内のレコードのカウントを行い、「が上がらない場合があるかfalse場合trueのいずれかに変数を設定し、あなたの制御フローでExecute SQL Taskを実行しますt any。

Execute SQL Taskから接続を作成しますが、truncateinsert文を実行する必要があります。矢印を右クリックしてEdit...を選択すると、設定した変数がTrueまたはFalseの場合、そのパスに従うかどうかを示すConditionが設定されます。

コントロールフローに次のステップがある場合は接続を作成し、この接続のLogicalAndプロパティをfalseに変更します。異なる優先順位の動作をdemostrateするには、矢印の変更が表示されます。オリジナルのExecute SQL Taskからコントロールフローの次のステップへの別の接続を作成します。この矢印も異なって見えるはずです。このパッケージを実行すると、今どうなる

は、変数がtruncateinsertするかどうかにtrueまたはfalseのいずれかに設定してから制御フローで正しいパスをたどることになるということです。これらのパスのいずれかが次のステップに掛かると(そのうちの1つだけが実行されるはずです)、パッケージは通常どおり続行されます。

関連する問題