批量修改 插入 orcale

批量修改

<update id="updatetList" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
            update PMS_RVORDERD
            <set>
                <if test="item.orgCode != null and item.orgCode !='' ">
                    ORG_CODE = #{item.orgCode,jdbcType=VARCHAR},
                </if>
                <if test="item.updateUserName != null and item.updateUserName!=''">
                    UPDATE_USER_NAME = #{item.updateUserName,jdbcType=VARCHAR},
                </if>
            </set>
            where id = #{item.id,jdbcType=DECIMAL}
        </foreach>
    </update>

批量插入

<insert id="insertList" parameterType="list">
        insert into PMS_RVORDERD
        (
        ID, ORG_CODE, RV_ORDER_CODE    
        )
        select SEQ_PMS_RVORDERD.nextval,t.* from
        (
        <foreach item="item" collection="list" separator="union all">
            select
            #{item.orgCode,jdbcType=VARCHAR},#{item.rvOrderCode,jdbcType=VARCHAR}
            from dual
        </foreach>
        ) t
    </insert>

查询与修改

<update id="updateActualArrivalQtyByList">
        update pms_rvorderd r
        set (actual_arrival_qty,arrival_qty,INDICATED__QTY,UNINDICATED__QTY)=
        (
        select t.actual_arrival_qty,t.arrival_qty,t.INDICATED__QTY,t.UNINDICATED__QTY
        from
        (
        <foreach collection="rvorderdList" item="rvorderd" separator="union all">
            select #{rvorderd.id} as id,
            #{rvorderd.actualArrivalQty} as actual_arrival_qty,
            #{rvorderd.arrivalQty} as arrival_qty,
            #{rvorderd.indicatedQty} as INDICATED__QTY,
            #{rvorderd.unindicatedQty} as UNINDICATED__QTY
            from dual
        </foreach>
        )t where t.id=r.id
        )where exists
        (
        select 1 from
        (
        <foreach collection="rvorderdList" item="rvorderd" separator="union all">
            select #{rvorderd.id} as id,
            #{rvorderd.actualArrivalQty} as actual_arrival_qty,
            #{rvorderd.arrivalQty} as arrival_qty,
            #{rvorderd.indicatedQty} as INDICATED__QTY,
            #{rvorderd.unindicatedQty} as UNINDICATED__QTY
            from dual
        </foreach>
        )t1 where t1.id=r.id
        )
</update>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值