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>
相关推荐
这个DBA有点耶19 分钟前
数据同步的三个工程底线:DDL同步、断点续传、一致性校验——开源CDC的边界与KFS的路径
数据库·dba·代码规范
SelectDB1 小时前
列式存储为什么适合分析类负载?原理、限制与日志场景应用
数据库
数据库小学妹2 小时前
MySQL大字段治理:行溢出机制、覆盖索引与拆表
数据库·mysql·性能优化
爱吃奥利奥_wen2 小时前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
这个DBA有点耶3 小时前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
测试界的小码农5 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
x_SpiderMan5 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农5 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j
瑞克-桑切斯5 小时前
redis
数据库·redis·缓存