【问题标题】:Error in SQL Server Merge Statement: The column prefix 'Updated' does not match with a table name or alias name used in the querySQL Server 合并语句中的错误:列前缀“已更新”与查询中使用的表名或别名不匹配
【发布时间】:2014-01-03 21:34:46
【问题描述】:

我有以下 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.*;

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

对我在这里缺少什么有什么想法吗??

【问题讨论】:

  • 没有Updated - 使用Inserted

标签: sql sql-server sql-merge


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多