我将newtest
的记录合并到test
。
merge into test t
using newtest nt
on (t.id = nt.id)
when matched then
update
set t.name = nt.name
when not matched then
insert (id, name)values (nt.id, nt.name);
newtest
中适合on
条件的记录需要删除。
虽然我可以用delete
SQL来做,但我想知道它可以在那个MERGE句子中完成吗?
答案 0 :(得分:0)
正如kordiko澄清的那样,你不能使用MERGE语句从另一个表中删除。您可以在单独的语句中完成删除,如下所示:
DELETE FROM newtest nt
WHERE NOT EXISTS
(SELECT 1 FROM test t where t.id = nt.id);