<?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>
ORACLE 批量插入更新删除sql
wjg10242024-10-19 17:43
相关推荐
hnlucky15 分钟前
redis 数据类型新手练习系列——Hash类型听闻风很好吃28 分钟前
DAY9:Oracle数据库安全管理深度解析LucianaiB1 小时前
【金仓数据库征文】_AI 赋能数据库运维:金仓KES的智能化未来时序数据说1 小时前
时序数据库IoTDB在航空航天领域的解决方案.生产的驴2 小时前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理AnsenZhu2 小时前
2025年Redis分片存储性能优化指南oydcm2 小时前
MySQL数据库概述oioihoii2 小时前
C++23中if consteval / if not consteval (P1938R3) 详解带娃的IT创业者2 小时前
《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现husterlichf4 小时前
MYSQL 常用数值函数 和 条件函数 详解