有一条sql语句,我们用的很少。不是没有使用场景,而是我们习惯用if判断代替这就是---merge。用if逻辑可以实现merge,而且更加灵活。但是在一些简单场景,merge远远比if来的更加简洁,更加高效。
merge into schedule_test st
using (select * from dpcrm.t_cust_schedule where rownum < 100) s
on (st.fid = s.fid)
when matched then
update set st.fcreatetime = sysdate
when not matched then
insert
(st.fid, st.fcustid, st.fstatus,st.ftype)
values
(s.fid, s.fcustid, s.fstatus,s.ftype)
上面这段代码我是从
t_cust_schedule
表里面取出来数据网schedule_test里面插入或更新。如果存在就更新创建时间如果不存在那么就插入相关字段。简洁明了,比if逻辑更加高效。