<?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
相关推荐
瀚高PG实验室5 小时前
瀚高数据库如何克隆表雨辰AI5 小时前
信创多租户项目 9 大踩坑|数据隔离失效、权限越权终极解决(金仓 / 达梦 / 高斯全库适配)严同学正在努力5 小时前
认识 SQL Server 的 T-SQL 语法EatFan5 小时前
我为什么把患者与病例从 1:1 改成 1:N?一次真实数据库模型重构记录xujuzheng6 小时前
2026深圳小程序/App/AI智能体开发公司选型指南(附本地服务商盘点)不剪发的Tony老师6 小时前
DuckDB教程:常用文本函数ManageEngineITSM6 小时前
什么是IT服务连续性管理?灾难恢复与业务连续性一文讲清像风一样自由20206 小时前
29.Redis在大模型应用中有哪些用途缓存会话与限流robottt6667 小时前
2026国产协作机器人排名与选型指南:越疆、遨博、节卡、珞石解析郑州光合科技余经理8 小时前
本地生活系统:多业务订单字段怎么分账本导出