数据库批量插入Insert ALL into报错ORA-00933:SQL命令未正确结束
起因 : 批量插入数据库表报错
代码演示 :
@Insert("<script> Insert ALL into table(字段1,字段2) values<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\"into table VALUES\">" (#{item},#{para})</foreach>SELECT 1 FROM DUAL" </script>") void insertAll(@Param("list") List<Integer> list ,@@Param("para") Integer para)
传入参数为List < Integer > list和Integer para , 报错提示ORA-00933:SQL命令未正确结束 , 看看了很久 , 感觉没问题 , 将console报错的sql放到数据库执行也没问题 .
后来网上查询了好多 , 看到说要设置useGeneratedKeys = false , 马上试了一下 , 就好了.
useGeneratedKeys
- 取值范围true|false
- 含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取。但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了.
最后 , 正确写法 :
@Insert("<script> Insert ALL into table(字段1,字段2) values<foreach collection=\"list\" item=\"item\" index=\"index\" separator=\"into table VALUES\">" (#{item},#{para})</foreach>SELECT 1 FROM DUAL" </script>") @Options(useGeneratedKeys, = false) void insertAll(@Param("list") List<Integer> list ,@@Param("para") Integer para)
数据库批量插入Insert ALL into报错ORA-00933:SQL命令未正确结束相关推荐
- 解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束
Mybatis批量插入需要foreach元素.foreach元素有以下主要属性: (1)item:集合中每一个元素进行迭代时的别名. (2)index:指定一个名字,用于表示在迭代过程中,每次迭代到的 ...
- Mybatis 批量插入报ORA-00933: SQL 命令未正确结束
Mybatis 批量插入报ORA-00933: SQL 命令未正确结束 错误出现的场景是这样的,将多个月份的1000条数据分别插入到各月份表中. MySQL中,批量插入数据到表,会在一定程度提高效率. ...
- 关于加了union报错sql命令未正确结束
这是一个写sql过程中遇到的小问题 已知,union上下的sql都可以单独正常运行,但是加了union后会报错sql命令为正确结束 为了方便查看union的范围还在每部分sql都用括号括起来,执行更糟 ...
- oracle批量插入ORA-00933: SQL 命令未正确结束
oracle 不支持 insert into 表名 (column1,column2,column3)values (value1,value2,value3),((value1,value2,val ...
- Mybatis使用foreach批量插入Oracle提示命令未正确结束
错误代码 <insert id="multiInsertTest" parameterType="java.util.List">INSERT IN ...
- 高德地图报错updatePrivacyShow、updatePrivacyAgree若未正确设置有崩溃风险-解决方案
一.报错现象 集成高德地图出现崩溃,以前没有问题,报错信息为:updatePrivacyShow.updatePrivacyAgree若未正确设置有崩溃风险 二.问题原因 由于个人信息保护法的实时,高 ...
- python mysql批量insert数据_使用python往mysql批量插入数据时,报错not all arguments converted...
我用这段命令可以往mysql数据库插入数据 insert into moderation_task(id, media_id, user_id, media_url_or_path, media_ti ...
- elasticsearchTemplate 批量插入数据时,报错es节点拒绝插入。
错误信息: org.springframework.data.elasticsearch.ElasticsearchException: Bulk indexing has failures. Use ...
- oracle命令未正确结束_详解Oracle数据库终止正在进行expdp导出数据的正确操作
概述 今天在做expdp导出时因没预估好数据量,所以需终止正在进行expdp导出数据的任务.那么怎么正确停止expdp导出任务呢?下面介绍一下我的操作过程. 1.不能用ctrl+c来终止导出(演示) ...
最新文章
- JDK17 要来了!会带来什么新特性?不好意思,我还在JDK7 踏步走...
- Windows上使用bat实现备份一个月内的数据库数据到文件
- linux 卸载lv,Linux 软件安装、卸载、查询
- Core Data 多线程操作实战篇
- C_C++变量命名规则
- Windows Phone 7 软件体系结构
- 服务器获取真实客户端 IP [ X-Forwarded-For ]
- 【odoo15】添加Chatter到表单视图,创建[发送消息][记录备注][安排活动]
- win10 64位装三菱PLC软件出现oleaut32.dll拒绝访问
- VSCODE 简单配置用户代码片段
- Git上传代码时报错 Warning: Permanently added ‘gitee.com,212.64.62.174‘ (ECDSA) to the list of known host...
- 易点易动助力达达-京东到家打通全集团固定资产数字化管理全链条
- c语言星座图原理,通信原理中星座图详解
- 程序化广告欺诈流量过滤方法
- 魔法串 HDU - 4545(字符串dp)
- js获取父元素、子元素、兄弟元素的方法
- 六、Django-Registration-Redux的基本使用
- MACD策略引入backtrader出错
- 小波变换在信号去噪声中的使用
- 千匠星云数字化解决方案介绍 | 业务中台