本次使用merge into的原因是要实现防止重复插入的功能,此功能对我的多次重复提交具有很好的限制作用,而且当我们需要处理大量数据时它的效率也是比insert要高很多的。下面直接上代码:
merge into TABLE p
using (SELECT 'systime' CREATETIME,
'zxb' NAME,
'上行' INFTYPE,
'移动' COMMETHOD, //using里面是我们需要比较的数据
'50' TOTAL //我们将这些数据和表p里面的数据进行比
from DUAL //因为最终我们还是要将这些数据存到表p里面
) np //因此数据我们from dual。
on (p.CREATETIME = np.CREATETIME and p.NAME =
np.GJJNAME and p.INFTYPE = np.INFTYPE and
p.COMMETHOD = np.COMMETHOD and p.TOTAL =
np.TOTAL) //on里面及时我们要比较的内容不能重复的内容当这些
when not matched then //数据都重复时,我选择了不操作。当这些数
INSERT //据不一样时,选择插入这条数据。执行insert
values
(id.nextval,
'systime',
'zxb',
'上行',
'移动',
'50');