SQL 语句 如果数据库中没有该条记录则insert,如果有,则什么都不做

如题,这个SQL语句该怎么写?谢谢

2个回答

[code="sql"]
merge into table_a t
using (select 'xx' id, 'xxx' c1, 'xxxx' c2 from dual) x
on (t.id = x.id)
when not matched then
insert (id, c1, c2) values (x.id, x.c1, x.c2);

[/code]
Oracle 10 或以上可以只写when not matched或者when matched一种情况,9i需要when not matched和when matched写全。

是什么数据库?

oracle
merge into

mysql
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!