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

1001回目SQL 2008は以上、2回目はそれ以降にする必要があります。

于 2016-01-04T14:08:03.170 に答える