Oracle中mybatis批量更新报错ORA-00933:SQL命令未正确结束

项目场景:

最近在开发项目的过程中遇见了这个问题:Oracle中批量更新的时候报错 ORA-00933:SQL命令未正确结束


问题描述

mybatis批量更新报错ORA-00933:SQL命令未正确结束

c 复制代码
<foreach item="item" index="index" collection="list" separator=";">
	update A
	set ID=#{item.id}
	where NAME=#{item.name}
</foreach>

上边这个执行的时候报错ORA-00933:SQL命令未正确结束


原因分析:

oracle中数据库批量更新和mysql中的有些不一样,需要进行如下修改。


解决方案:

对上边的代码进行改变

  1. separator=";" 这个里边一定要加分号,而不是逗号
  2. begin和end必须要成对出现 open="begin" end=";end;" 也就是为了补全语法
c 复制代码
<foreach item="item" index="index" collection="list"  open="begin" end=";end;"  separator=";">
	update A
	set ID=#{item.id}
	where NAME=#{item.name}
</foreach>
相关推荐
梓沂43 分钟前
CentOS 7.9 静默安装 Oracle 11gR2 企业版全记录
linux·oracle·centos
竹枝溪1 小时前
MySQL数据库零基础入门
数据库·sql·mysql·navicat·ddl·dml·dql
ShuiShenHuoLe2 小时前
HmarkX(码笺)的本地数据库模块重构实战
数据库·oracle·重构
sugar__salt2 小时前
MyBatis-Plus 从入门到实战:高效简化数据库开发的完整指南
数据库·spring boot·mybatis·数据库开发
Leon-Ning Liu2 小时前
Oracle 26ai新特性:Lock-Free Reservations(无锁预留)
数据库·oracle
smilejingwei16 小时前
CodeBuddy+SQLazy 编写复杂 SQL 详解
sql·codebuddy·sqlazy
oradh21 小时前
Oracle数据文件的大小和数量的限制总结
数据库·oracle·数据文件大小限制·数据文件数量限制
ChaHae-In1 天前
MyBatis入门操作
java·mybatis
蒲公英eric1 天前
从布尔盲注到参数化查询:DVWA SQL 盲注模块完整漏洞分析教程
sql·web安全·ai·dvwa·ai安全·sql 盲注
今天AI了吗1 天前
MCP 协议打通 AI 与国产数据库,SQL 调优全流程一站式闭环
数据库·人工智能·sql