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>
相关推荐
q***816424 分钟前
MySQL:数据查询-limit
数据库·mysql
p***924824 分钟前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
JIngJaneIL2 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.2 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Y***98512 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best2 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
蒋士峰DBA修行之路2 小时前
实验二十八 SQL PATCH调优
数据库·sql·gaussdb
I***t7163 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
一 乐3 小时前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot
微学AI4 小时前
内网穿透的应用-突破局域网束缚,MongoDB 远程访问使用cpolar原来可以这么简单
数据库·mongodb