Oracle中mybatis批量更新报错ORA-00933:SQL命令未正确结束
oracle中数据库批量更新和mysql中的有些不一样,需要进行如下修改。上边这个执行的时候报错ORA-00933:SQL命令未正确结束。对上边的代码进行改变。
·
项目场景:
最近在开发项目的过程中遇见了这个问题:Oracle中批量更新的时候报错 ORA-00933:SQL命令未正确结束
问题描述
mybatis批量更新报错ORA-00933:SQL命令未正确结束
<foreach item="item" index="index" collection="list" separator=";">
update A
set ID=#{item.id}
where NAME=#{item.name}
</foreach>
上边这个执行的时候报错ORA-00933:SQL命令未正确结束
原因分析:
oracle中数据库批量更新和mysql中的有些不一样,需要进行如下修改。
解决方案:
对上边的代码进行改变
- separator=“;” 这个里边一定要加分号,而不是逗号
- begin和end必须要成对出现 open=“begin” close=";end;"也就是为了补全语法
<foreach item="item" index="index" collection="list" open="begin" close=";end;" separator=";">
update A
set ID=#{item.id}
where NAME=#{item.name}
</foreach>
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)