oracle和mysql批量Merge对比

orm框架采用mybatis,本博客介绍一下批量合并merge用oracle和mysql来做的区别,

oracle merge合并更新函数的详细介绍可以参考我以前的博客:https://blog.csdn.net/u014427391/article/details/87898729

oracle方法:

<!-- 批量更新新增关联信息 oracle-->
	<insert id="batchSaveTipsRelatedConfig" databaseId="oracle" parameterType="com.extend.tipsConfig.model.TipsRelatedModel">
		MERGE INTO t_tips_config_related A1 
		USING(<foreach collection="relatedTipsList" item="itm" separator="union">select #{itm.seq} seq ,
					 #{itm.tipsSeq} tipsSeq , 
					 #{itm.relaSeq} relaSeq,
					 #{itm.tipsContent} tipsContent
		          from dual
			</foreach>) A2
		ON(A1.tips_seq = A2.tipsSeq and A1.rela_seq = A2.relaSeq)
		WHEN MATCHED THEN
		UPDATE SET
		        A1.tips_content = A2.tipsContent
		WHEN NOT MATCHED THEN
		INSERT(seq , tips_seq ,  rela_seq, tips_content)
		VALUES(A2.seq , A2.tipsSeq ,A2.relaSeq, A2.tipsContent)
	</insert>

mysql方法:

<!-- 批量更新新增关联信息 mysql-->
	<insert id="batchSaveTipsRelatedConfig" databaseId="mysql" parameterType="com.extend.tipsConfig.model.TipsRelatedModel">
		REPLACE INTO t_tips_config_related(seq,tips_seq,rela_seq,tips_content)  
		VALUES<foreach collection="relatedTipsList" item="itm" separator=",">(#{itm.seq},
					 #{itm.tipsSeq}, 
					 #{itm.relaSeq},
					 #{itm.tipsContent})</foreach>
	</insert>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smileNicky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值