【发布时间】:2015-03-19 20:21:38
【问题描述】:
大家好,
我正在尝试使用 Merge INTO 从另一个类似 example here 的表中更新我的表:
MERGE INTO locations l USING new_locations n
ON (l.customer_id = n.customer_id
AND l.location_x = n.location_x
AND l.location_y = n.location_y)
WHEN MATCHED THEN UPDATE SET location_count = l.location_count + n.location_count
WHEN NOT MATCHED THEN INSERT (customer_id, location_x, location_y, location_count, location_name)
VALUES (n.customer_id, n.location_x, n.location_y, n.location_count, n.location_name);
我正在使用 MSSQL 并通过 DbVisualizer 和 ODBC 连接进行连接。
当我运行命令时它状态:一般错误;
经过一番搜索,我找到了here 您必须在 VbVisualizer 中将这种格式用于 Mere into:
@delimiter %%;
MERGE x AS y<code here>
;
@delimiter ;%%
当我这样做时,程序会挂起:解析脚本。 我尝试更改 DbVisualizer 的默认语句分隔符,但仍然没有运气
/****************************************编辑********** ******************/
如果我删除了,我得到了
09:27:46 [MERGE - 0 row(s), 0.000 secs] [Error Code: 10713, SQL State: 37000] [Microsoft][ODBC SQL Server Driver][SQL Server]A MERGE statement must be terminated by a semi-colon (;).
如果我使用工具属性语句分隔符并将 (;) 替换为 GO,则会收到以下错误
09:29:24 [MERGE - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: S1000] General error
/************************************结束编辑 ************* ***************/
你能帮帮我吗? 谢谢
【问题讨论】:
标签: sql-server merge dbvisualizer