当前位置: 代码迷 >> Oracle开发 >> 关于oracle的merge语法,该如何处理
  详细解决方案

关于oracle的merge语法,该如何处理

热度:103   发布时间:2016-04-24 06:28:16.0
关于oracle的merge语法
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的版本是多少。太低版本是没有这个方法的
  相关解决方案