mybatis oracle MERGE 利用oracle原理实现saveOrUpdate

   MERGE INTO tableName  a
            USING (select count(1) c from tableName where user_code=#{item.user_code} and meter_code = #{item.meter_code}) b
            ON (b.c >0)
            WHEN MATCHED THEN
            UPDATE
            <trim  prefix="SET" suffixOverrides=",">
                <if test="item.bar_code != null">bar_code=#{item.bar_code},</if>
            </trim>
            WHERE user_code=#{item.user_code} and meter_code = #{item.meter_code}
            WHEN NOT MATCHED THEN
            insert
            <trim prefix="(" suffix=")" suffixOverrides=",">

                <if test="item.bar_code != null">bar_code,</if>
         
            </trim>
            <trim prefix="values (" suffix=")" suffixOverrides=",">
               
                <if test="item.bar_code != null">#{item.bar_code},</if>
               
            </trim>
        </foreach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山人在山上

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

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

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

打赏作者

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

抵扣说明:

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

余额充值