最近在使用MyBatis操作Oracle数据库的时候,进行批量插入数据,思路是封装一个List集合通过Myabtis 的foreach标签进行循环插入,可是搬照Mysql的批量插入会产生 异常 ### Error updating database. Cause:Java.sql.SQLSyntaxErrorException:ORA-00933: SQL 命令未正确结束 错误的写法如下 <insert id="insertExpenseItem" pa...
上面的语句对于MySQL执行起来没有问题,但对Oracle数据库则会报如题错误:SQL命令未正确结束。 可以用Oracle虚拟表来解决这个问题,首先将数据foreach作为一张虚拟表,然后全量插入到新表中。 INSERTINTOTEMP_20200210 (DMC)SELECTCD.*FROM(SELECT1234567FROMDUALUNIONSELECT1234568FROMDUALUNIONSELECT1234568FROMDUAL ) CD 由...
最近在使用MyBatis操作Oracle数据库的时候,进行批量插入数据,思路是封装一个List集合通过Myabtis 的foreach标签进行循环插入,可是搬照Mysql的批量插入会产生 异常 ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 错误的写法如下 <insertid="insertExpenseItem"pa...
正确的做法应遵循Oracle的SQL语法规范。在进行批量插入时,应使用`select`从`from`中构建动态SQL语句。以`expenseItem`表为例,正确的插入语句应该是:insert into expenseItem(itemId, expId, type, amount, itemDesc)select seq_item.nextval itemId, A.expId, A.type, A.amount, A.itemDesc from...
批量插入时,如果没有主键,一定要显式指定useGeneratedKeys为false,否则会报: SQL 命令未正确结束 useGeneratedKeys="true"时: <insert id="batchInsertByMySQL"useGeneratedKeys="true"keyProperty="id"parameterType="java.util.List">INSERTINTOt_privilege(type,name,key,url,sort,parent_key)VALUES<foreachcollection=...
上边这个执行的时候报错ORA-00933:SQL命令未正确结束 原因分析: oracle中数据库批量更新和mysql中的有些不一样,需要进行如下修改。 解决方案: 对上边的代码进行改变 separator=“;” 这个里边一定要加分号,而不是逗号 begin和end必须要成对出现 open=“begin” end=“;end;” 也就是为了补全语法 ...
1、SQL上下文就是不允许分号结尾,你都发现规律了 2、PL/SQL上下文可以批量而且必须带分号结尾:beginalter session force parallel query parallel 8;select * from c_tbtranslateconfig where intdel=0;alter session disable parallel query;end;把上文作为整个字符串传给MyBatis即可,但问题是select查询...
关于mybatis的 insert into select 命令未结束问题,最后以为是sql写错了,可是,在plsql运行又没问题。最后还是解决这个问题。 是设置问题。 ###Cause:java.sql.SQLSyntaxErrorException:ORA-00933:SQL命令未正确结束 1. 原先的配置: <insert id="addHistoryByPostBatchno"parameterType="paramMap"> ...
### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 ### ...