gpt4 book ai didi

sql - SQL Server 2008中合并语句错误

转载 作者:行者123 更新时间:2023-12-03 02:04:37 31 4
gpt4 key购买 nike

我正在 SQL Server 2008 中执行以下合并语句:

MERGE 
PopulationData AS a
USING ImagesData AS b
ON a.ID = b.ID
WHEN MATCHED THEN
UPDATE SET a.SURNAME = 'joe123'
WHEN NOT MATCHED THEN INSERT(a.ID,a.SURNAME)
VALUES (12454,'joe123');

我有以下错误:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'AS'.

谁能告诉我语法错误在哪里。

最佳答案

在 SQL Management Studio 中解析查询时出现以下错误:

Msg 10739, Level 15, State 1, Line 7 The insert column list used in the MERGE statement cannot contain multi-part identifiers. Use single part identifiers instead.

然后我删除标识符...

MERGE 
PopulationData AS a
USING ImagesData AS b
ON a.ID = b.ID
WHEN MATCHED THEN
UPDATE SET a.SURNAME = 'joe123'
WHEN NOT MATCHED THEN INSERT(ID,SURNAME)
VALUES (12454,'joe123');

...查询解析成功。因此,语法错误几乎肯定不是来自您的 MERGE 语句。您真的只执行您发布的语句,还是它是更大脚本或过程的一部分?如果双击错误消息,它应该突出显示语法错误所在的行(至少对于 SQL 2008)。

更新:我注意到您已标记了 SQL 2005 和 2008 的问题,但仅在 SQL 2008 中支持 MERGE。在 SQL 2005 下解析查询会出现语法错误。

关于sql - SQL Server 2008中合并语句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169631/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com