Oracle 存在则更新不存在则插入-方案
Oracle 存在则更新不存在则插入-方案
方案一:merge into 语句:
- merge into excel e
- using (select et.* from excel_temp et where et. id='1') tmp
- on (e.root_affair_code=tmp.root_affair_code)
- 需要注意一点:on后面的条件需要是可以唯一确定using (本例子中就是tmp)中的候选码。
- when matched then
- update set
- e.affair_id=tmp.affair_id, e.affair_code=tmp.affair_code,
- e.modify_time=sysDate
- when not matched then
- insert ( e.id, e.affair_code,
- e.affair_name, e.create_time, e.modify_time )
- values( tmp.id, tmp.affair_code,
- tmp.affair_name, sysDate, sysDate )
方案二:根据条件,存在则删除,然后insert。
评论暂时关闭