解决方案 »

  1.   

    MERGE 
     test1 as es
    using (select 10 as id)d  ON d.id = es.id
    when matched 
    then update set es.name = '1234'
    when not matched 
    then insert values(10,'1234');本地执行了一下,没有错误
      

  2.   

    你是多个语句的 SQL 吧。
    MERGE 前面加分号 ;,最后一个括号后面也加分号。
      

  3.   


    我也创建了一张这样的表,但是还是报那个错误,会不会是数据库的问题?我的数据库安装版本是
    Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86)   Feb  9 2007 22:47:07   Copyright (c) 1988-2005 Microsoft Corporation  Express Edition on Windows NT 6.1 (Build 7601: Service Pack 1)