处理类型2维度的SQL Server Merge语句

时间:2013-05-20 17:12:44

标签: sql-server

我有一个合并声明来处理类型2维度。

  • 源表格有source_eff_date列。
  • 目标表有两列(source_eff_dateretired_date)。

示例

来源

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

TARGET TABLE

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

TARGET TABLE

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

我使用合并声明达到了上述要求。

我的问题是,在merge语句中,如果源表上的记录的source_eff_date早于目标表中的记录,我想将记录写入日志表。考虑以下情况。

源表

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

TARGET TABLE

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

我想从merge语句中拒绝此记录(写入日志)并继续合并其他记录。希望我很清楚。

非常感谢任何帮助。

0 个答案:

没有答案