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>
相关推荐
月光水岸New2 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6752 小时前
数据库基础1
数据库
我爱松子鱼2 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo2 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser3 小时前
【SQL】多表查询案例
数据库·sql
Galeoto3 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)4 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231114 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白4 小时前
PostgreSQL:更新字段慢
数据库·postgresql
敲敲敲-敲代码4 小时前
【SQL实验】触发器
数据库·笔记·sql