Oracle 存在则更新不存在则插入-方案


方案一:merge into 语句:

  1. merge into excel e  
  2.       using (select et.* from excel_temp et where et. id='1') tmp  
  3.       on (e.root_affair_code=tmp.root_affair_code)  
  4.       需要注意一点:on后面的条件需要是可以唯一确定using (本例子中就是tmp)中的候选码。  
  5. when matched then  
  6.       update set  
  7.       e.affair_id=tmp.affair_id, e.affair_code=tmp.affair_code,   
  8.          e.modify_time=sysDate  
  9.             
  10. when not matched then  
  11.       insert ( e.id, e.affair_code,  
  12.       e.affair_name, e.create_time, e.modify_time )  
  13.         
  14.       values( tmp.id, tmp.affair_code,  
  15.        tmp.affair_name, sysDate, sysDate )  

方案二:根据条件,存在则删除,然后insert。

相关内容