SQL Server合并语句中的错误:列前缀“已更新”与查询中使用的表名或别名不匹配

时间:2014-01-03 21:34:47

标签: sql sql-server sql-merge

我有以下SQL语句,我收到错误:

MERGE Target_Table AS Tg
USING #Temp_SourceTable AS So
ON (Tg.COl1 = So.COL1 AND 
    Tg.COL2 = So.COL2AND 
    Tg.COL3= So.COL3)
WHEN MATCHED THEN 
    Update set Tg.COl4= Tg.COL4 + So.COL4,
           Tg.COL5= '2014-01-03'
OUTPUT $action, Updated.*;

错误:列前缀'已更新'与查询中使用的表名或别名不匹配

对我在这里失踪的任何想法?

1 个答案:

答案 0 :(得分:3)

Updated就不存在了。只有INSERTEDDELETED。对于更新,两者都填写。使用INSERTED获取新值。