SQL Server合并语句-语法错误

3

执行这个SQL脚本时,我遇到了以下错误:

MERGE TridionCentres TridionCentres
USING (SELECT * FROM  #CentresToUpdate) NewInfo
ON (TridionCentres.[publication id] = NewInfo.[publication id] AND
    TridionCentres.centre_number = NewInfo.centre_number)
WHERE matched THEN 
  UPDATE 
    SET TridionCentres.centre = NewInfo.centre,
        TridionCentres.[date] = NewInfo.[date];

错误:

消息 156,级别 15,状态 1,第 5 行
关键字“WHERE”附近有语法错误。

我看不出哪里出了问题!


6
关键词是“WHEN”,而不是“WHERE” :) 请参考http://technet.microsoft.com/en-us/library/bb510625.aspx。 - fnurglewitz
2
@tr3 你应该把你的评论作为答案添加上去。(并且可能要发布修正后的查询) - Lamak
1
@tr3 我怀疑你的回答被删除了,因为即使它识别出了问题,但它大部分只是一个链接。你可以再次发布它,这次在你的答案中添加修复后的查询。 - Lamak
@MartinSmith 您是正确的,但在此之前我清楚地看到了一条评论,上面有一个先前的时间戳,显示答案发布的时间。(我的意思是,评论中写着“13分钟前”,而答案中写着“15分钟前”) - Lamak
@Lamak - 或许时间的实时更新有点不一致(现已删除先前无关的评论)。 - Martin Smith
显示剩余4条评论
1个回答

6
关键字是WHEN,而不是WHERE :)
更多信息请参见此处,但这有点长,无法在答案中全部列出。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接