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>
相关推荐
你才是臭弟弟7 分钟前
MongoDB 基本SQL操作
sql·mongodb·oracle
爬山算法23 分钟前
MongoDB(71)如何启用MongoDB身份验证?
数据库·mongodb·oracle
FinTech老王27 分钟前
Oracle的CONNECT BY在国产数据库中的实现
数据库·oracle
荒川之神42 分钟前
ORACLE逻辑备份
数据库·oracle
xxxibolva9 小时前
SQL 学习
数据库·sql·学习
ictI CABL11 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis
lclcooky14 小时前
Spring 中使用Mybatis,超详细
spring·tomcat·mybatis
小韩博14 小时前
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
数据库·sql
qq_1969761714 小时前
python的sql解析库-sqlparse
数据库·python·sql
椰汁菠萝14 小时前
Mybatis-plus + PostgreSQL json格式类型转换异常
postgresql·json·mybatis