2
我已经在这个小提琴中完成了我所有关于MERGE的知识,但没有得到输出。希望有人会为此提出解决方案。MERGE语句问题 - 分号错误(SQL Server 2008)
我做了一个简单的MERGE语句插入,更新和使用源表在同一时间删除目标表的价值,一切都很好,但我收到错误消息说
我有把分号,但错误不断弹出up.I正在研究MERGE语句,以及如何使用SQLFiddle使用两个表和某人请告诉我正确的方法来放置分号。
这里的小提琴 - SQLFiddle
这里的合并的代码
MERGE Students AS T
USING Teachers AS S
ON S.LastName = T. LastName and
S.FirstName = T.FirstName
WHEN MATCHED THEN
UPDATE SET T.Address = S.Address,
T.Age = S.Age
WHEN NOT MATCHED THEN
INSERT (LastName,
FirstName,
Address,
Age)
VALUES (S.LastName,
S.FirstName,
S.Address,
S.Age)
WHEN NOT MATCHED BY SOURCE THEN
DELETE;
OUTPUT $action, Inserted.LastName, Inserted.FirstName, Deleted.LastName, Deleted.FirstName INTO @T;
Select * from @T;
谢谢..我应该添加那个动作列,但没有这样想..现在我知道了..谢谢..但我有一个疑问,虽然在这个SQl小提琴中,冒号终止每一行然后为什么改变它去?我们正在使用它吗? –
不客气,我很乐意提供帮助。实际上,我发布的小工具与分号以外的任何“查询终止符”一起工作。不幸的是,我不能说为什么选择这个选项似乎会干扰查询解析。在这个小提琴中,我们实际上并没有使用'GO'批量分隔符。 '查询终结符'只是需要改为';'以避免解析错误。 –