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');本地执行了一下,没有错误
你是多个语句的 SQL 吧。 MERGE 前面加分号 ;,最后一个括号后面也加分号。
我也创建了一张这样的表,但是还是报那个错误,会不会是数据库的问题?我的数据库安装版本是 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)
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');本地执行了一下,没有错误
MERGE 前面加分号 ;,最后一个括号后面也加分号。
我也创建了一张这样的表,但是还是报那个错误,会不会是数据库的问题?我的数据库安装版本是
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)