1

タイプ 2 のディメンションを処理するためのマージ ステートメントがあります。

  • ソース表にはsource_eff_date列があります。
  • ターゲット テーブルには 2 つの列 (source_eff_dateおよびretired_date) があります。

ソーステーブル

c_id  f_name  l_name          source_eff_date 
1      FN1    LN1       04/15/2013

ターゲット テーブル

c_i, f_name  l_name          source_eff_date retired_date
1      FN1    LN1       04/15/2013      12/12/2099

ソース テーブル

c_id f_name l_name           source_eff_date 
1      FN1    LN2       05/15/2013

ターゲット テーブル

c_id, f_name,l_name,source_eff_date retired_date
1      FN1    LN1       04/15/2013   05/14/2099
1      FN1    LN2       05/15/2013   12/12/2099

マージステートメントを使用して上記の要件を達成しています。

私が持っている質問は、ソース テーブルのレコードの source_eff_date がターゲット テーブルのレコードよりも古い場合、マージ ステートメント内でログ テーブルにレコードを書き込みたいということです。以下のシナリオを検討してください。

ソース テーブル

c_id f_name l_name         source_eff_date 
1      FN1    LN2       02/15/2013

ターゲット テーブル

c_id,     f_name,l_name,          source_eff_date retired_date
1           FN1    LN1      04/15/2013   05/14/2099
1           FN1    LN2                   05/15/2013   12/12/2099

このレコードをマージ ステートメント (ログに書き込む) から拒否し、他のレコードのマージを続行したいと思います。私がはっきりしていることを願っています。

どんな助けでも大歓迎です。

4

0 に答える 0