ORACLE 批量插入更新删除sql

复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.nari.devices.mapper.KeyScheduleUpdateMapper">


    <insert id="insertBatch">
        INSERT INTO REC_METER_KEY_SCHEDULE_UPDATE (TASK_ID, METER_ID, UPDATE_CYCLE, KEY_TYPE, BEGIN_TIME, STATUS,
        CREATE_TIME, UPDATE_TIME, SOURCE, CLIENT_TYPE)
        <foreach collection="keyScheduleUpdateDtoList" item="item" separator=" UNION ALL ">
            SELECT
            #{item.taskId},
            #{item.meterId},
            #{item.updateCycle},
            #{item.keyType},
            #{item.beginTime},
            #{item.status},
            SYSDATE,
            #{item.updateTime},
            #{item.source},
            #{item.clientType}
            FROM DUAL
        </foreach>
    </insert>


    <update id="updateBatch" parameterType="java.util.List">
        <foreach collection="keyScheduleUpdateDtoList" item="item" index="index" separator=";" open="BEGIN"
                 close=";END;">
            UPDATE REC_METER_KEY_SCHEDULE_UPDATE
            SET
            UPDATE_CYCLE = #{item.updateCycle,jdbcType=INTEGER},
            KEY_TYPE = #{item.keyType,jdbcType=INTEGER},
            BEGIN_TIME = #{item.beginTime,jdbcType=DATE},
            STATUS = #{item.status,jdbcType=INTEGER},
            UPDATE_TIME = #{item.updateTime,jdbcType=DATE},
            SOURCE = #{item.source,jdbcType=INTEGER},
            CLIENT_TYPE =#{item.clientType,jdbcType=INTEGER}
            WHERE TASK_ID = #{item.taskId} and METER_ID = #{item.meterId,jdbcType=INTEGER}
        </foreach>
    </update>


    <delete id="deleteBatch" parameterType="java.util.List">
        delete from REC_METER_KEY_SCHEDULE_UPDATE where TASK_ID in
        <foreach item="item" index="index" collection="meterKeys" open="(" separator="," close=")">
            #{item}
        </foreach>
    </delete>
</mapper>
相关推荐
阿里小阿希4 小时前
Vue3 + Element Plus 项目中日期时间处理的最佳实践与数据库设计规范
数据库·设计规范
白鹭5 小时前
MySQL源码部署(rhel7)
数据库·mysql
666和7775 小时前
Struts2 工作总结
java·数据库
还听珊瑚海吗5 小时前
SpringMVC(一)
数据库
星期天要睡觉7 小时前
MySQL 综合练习
数据库·mysql
Y4090017 小时前
数据库基础知识——聚合函数、分组查询
android·数据库
JosieBook8 小时前
【数据库】MySQL 数据库创建存储过程及使用场景详解
数据库·mysql
处女座_三月8 小时前
改 TDengine 数据库的时间写入限制
数据库·sql·mysql