目前达梦这边暂时不支持replace into这种语法,可使用merge into 实现相同效果。
mysql中:
replace into语句会根据唯一键/主键删除原有的一条记录, 并且插入一条新的记录来替换原记录。如果没有表不存在唯一键/主键 或者 插入的数据唯一键/主键没有重复的,那么会新增一条记录。
在达梦中可以使用merge into来实现相同的效果,通过判断来看是否存在这条数据,存在即按照其需要进行修改update,不存在则直接insert。
例如:
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);
目前达梦这边暂时不支持replace into这种语法,可使用merge into 实现相同效果。
mysql中:
replace into语句会根据唯一键/主键删除原有的一条记录, 并且插入一条新的记录来替换原记录。如果没有表不存在唯一键/主键 或者 插入的数据唯一键/主键没有重复的,那么会新增一条记录。
在达梦中可以使用merge into来实现相同的效果,通过判断来看是否存在这条数据,存在即按照其需要进行修改update,不存在则直接insert。
例如:
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);