Mysql的 replace into
就是说在对表进行insert的操作的时候,如果表中存在此数据,那么执行update操作(如果设置的是主键为自动增长那么会增加),反之执行insert操作,建表语句如下
replace into 语句
replace into test set id=2,name='abcd';
replace into test set id=2,name='abcd';
replace into test set id=2,name='abcd';
oracle的merge into
判断数据是否相同的标准就是根据唯一索引来判断,那么在oracle中有没有替代品?答案是有的
merge into语句
merge into
test_id a
using
(select id , name from test_id ) b
on (a.id = b.id)
WHEN MATCHED THEN
UPDATE SET a.name = b.name
WHEN NOT MATCHED THEN
INSERT
(a.id, a.name)
VALUES
(b.id, b.name);
总结
Mysql的 replace into和oracle的merge into两个语法功能是相同的
注意
oracle的merge into需要配合using使用