Heelo大家
我正在尝试使用Merge从另一个表(如这里的例子 )更新我的表
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进行连接。
当我运行命令时,它的状态是:一般错误;
经过一些搜索后,我发现这里必须使用这种格式才能在VbVisualizer中使用into:
@delimiter %%;
MERGE x AS y<code here>
;
@delimiter ;%% 当我这样做的时候,程序挂起了:解析脚本。我试图更改DbVisualizer的默认语句分隔符,但仍然没有成功。
/***********************************Editing *

如果我把我拿掉
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 (;).如果我使用工具属性语句Delimeters并将(;)替换为GO,则会得到以下错误
09:29:24 [MERGE - 0 row(s), 0.000 secs] [Error Code: 0, SQL State: S1000] General error/*******************************End编辑*
你能帮帮我吗?谢谢
发布于 2015-03-23 14:04:50
看来,由于Merge是一个transact/SQL查询,它需要多行来提交DB可视化程序在免费版本中不允许的事务:(
希望我能找到其他选择。
https://stackoverflow.com/questions/29154248
复制相似问题