mybatis中
<insert id="insertOrUpdateUser" parameterType="pd">
INSERT INTO xxx (a,b,c,d,e,f,j,h,create_time,update_time)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(#{item.a},
#{item.b},
#{item.c},
#{item.d},
#{item.e},
#{item.f},
#{item.g},
'hhhh',
SYSDATE(),
SYSDATE())
</foreach>
ON DUPLICATE key UPDATE
a=VALUES(a),
b=VALUES(b),
c=VALUES(c),
d=VALUES(d),
e=VALUES(e),
f=VALUES(f),
update_time=VALUES(update_time)
</insert>
oracle中 merge into
<update id="insertOrUpdateFromKfk" parameterType="pd">
MERGE INTO ZJB_GZW a
using (select
<if test="YQBH == null">null</if><if test="YQBH != null">#{YQBH}</if> YQBH,
<if test="YSHDH == null">null</if><if test="YSHDH != null">#{YSHDH}</if> YSHDH,
1 QX_REPORT from dual) b
on (a.ID = b.ID and a.PLATFORM_ID=b.PLATFORM_ID)
when matched then update set a.QX_REPORT_DATE=b.QX_REPORT_DATE,a.YQBH=b.YQBH
when not matched then insert (QX_REPORT_DATE,YQBH,YSHDH)
values(b.QX_REPORT_DATE,b.YQBH,b.YSHDH)
</update>