oracle和mysql批量合併對比

orm框架採用mybatis,本博客介紹一下批量合併merge用oracle和mysql來作的區別,mysql

oracle merge合併更新函數的詳細介紹能夠參考我之前的博客:blog.csdn.net/u014427391/…sql

oracle方法:bash

<!-- 批量更新新增關聯信息 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方法:mybatis

<!-- 批量更新新增關聯信息 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>

複製代碼
相關文章
相關標籤/搜索