- 假定一种情境,当每天有大批量数据诸如百万条数据需要对数据库进行更新,其中一部分是数据库中原先没有的需要新增,其中一部分是数据库中原先有的需要更新操作,如果用遍历的方式去先判断每条数据在数据库中原本存在不存在,然后在决定是insert还是update效率会特别低,这时就需要用到oracle的mergo into语句,该操作会判断是新增还是更新并进行对应操作
- mergo into语句如下:
- merge into testtb "
- + "using (select ? as newid,? as newval from dual) newData "
- + "ON (testtb.id=newData.newid) "
- + "WHEN NOT MATCHED THEN "
- + "INSERT VALUES (newid,newval) "
- +