SQL MERGE CASE UPDATE多列

时间:2014-04-09 08:54:42

标签: sql merge case multiple-columns

对于以下问题,我将不胜感激。我在SQL Server 2012上尝试这个。

我正在尝试使用MERGE语句来更新已更改的列,而不是对整行执行更新。

当对列执行更新时,我希望更新日期修改列。

  

MERGE INTO       dbo.TableA AS目标

     
    

使用
    (         选择 *         来自dbo.dbo.TableB     )AS来源

         

在     (     target.ID = source.ID AND     target.NAME = source.NAME     )

         

匹配时

         

更新设置

         

target.AGE =

         
      
        

当target.AGE!= source.AGE

时的情况                  

然后source.AGE ELSE target.AGE

                 

END

      
             

- 如果CASE语句对AGE列进行了修改,我想更新'Date_Modified'列       ,

    
         

target.ADDRESS =

         
      
        

当target.ADDRESS!= source.ADDRESS

时的情况                  

那么source.ADDRESS ELSE target.ADDRESS

                 

END

      
             

- 如果CASE语句对ADDRESS列进行了修改,我想更新'Date_Modified'列       ;

    
  

有没有办法可以在CASE语句中更新'Date_Modified'字段?

谢谢,

0 个答案:

没有答案