mysql中 批量更新数据 没有则插入 有则更新

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>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值