Mysql的语句如下:
INSERT INTO log(id,startid) VALUES(14,14) ON DUPLICATE KEY UPDATE startid = values(startid)
为了在oracle中达到同样的效果,oracle中语句如下:
merge into log
using (select 14 id, 14 startId from dual) t
on (t.id=log.id)
when not matched then
insert (id, startId) values (t.id,t.startId)
when matched then
update set log.startId=t.startId
求问oracle语句哪里错了
------解决思路----------------------
merge into log l
using (select 14 id, 14 startId from dual) t
on (t.id=l.id)
when not matched then
insert (id, startId) values (t.id,t.startId)
when matched then
update set l.startId=t.startId
------解决思路----------------------
语句没有问题。
你oracle的版本是多少。太低版本是没有这个方法的