0

我对编程有点陌生。

当我执行查询时出现此消息:

消息 156,级别 15,状态 1,第 1 行
关键字“As”附近的语法不正确。

你能告诉我它有什么问题吗?

 MERGE Table_2 As target
    USING Table_1 AS SOURCE 
    ON (TARGET.ID = SOURCE.ID) 

 WHEN MATCHED AND TARGET.FirstName <> SOURCE.FirstName 
    OR TARGET.LastName <> SOURCE.LastName THEN 
    UPDATE SET TARGET.FirstName = SOURCE.FirstName, 
    TARGET.LastName = SOURCE.LastName 

 WHEN NOT MATCHED BY TARGET THEN 
    INSERT (ID, FirstName, LastName) 
    VALUES (SOURCE.ID, SOURCE.FirstName, SOURCE.LastName)

 WHEN NOT MATCHED BY SOURCE THEN 
    DELETE
4

1 回答 1

1

也许您的数据库处于错误的兼容级别,或者您的服务器不是 SQL 2008 或更高版本。运行时会得到什么:

  • select compatibility_level from sys.databases where name=db_name()

  • select @@VERSION

你应该得到100或更大的第一个和SQL 2008或稍后的第二个。

于 2016-01-04T14:08:03.170 回答