【发布时间】:2015-02-02 03:50:38
【问题描述】:
我有一个查询,它将列表中的数据插入到 Oracle DB 表中。查询格式为
Insert All
Into Table_A (Column_A, Column_B) Values (Value_A1, Value_B1)
Into Table_A (Column_A, Column_B) Values (Value_A2, Value_B2)
select * from dual;
当我针对 Oracle DB 运行此查询时,它运行良好。
但是,当我作为测试的一部分对 HSQLDB(Spring 中的嵌入式 DB)执行相同的查询时,它会抛出一个异常,指出 SQL 语法不正确。
我通过指定 SET DATABASE SQL SYNTAX ORA TRUE; 为 hsql 使用 Oracle 语法
hsql 版本 - 2.3.2
即使在指定了 Oracle 方言之后,任何人都可以帮助我解决这个问题吗?
我得到的异常堆栈的一部分粘贴在这里 -
----------
DEBUG [http-bio-8080-exec-3] (SQLErrorCodeSQLExceptionTranslator.java281) - Unable to translate SQLException with Error code '-5581', will now try the fallback translator
org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: unexpected token: ALL required: INTO : line: 3
### SQL: Insert All INTO TABLE_A (column_a, column_b) VALUES (?,?) INTO TABLE_A (column_a, column_b, TABLE_A_active) VALUES (?,?) select * from dual
### Cause: java.sql.SQLSyntaxErrorException: unexpected token: ALL required: INTO : line: 3
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: unexpected token: ALL required: INTO : line: 3
【问题讨论】: