使用 HSQL DB 测试插入所有 Oracle 查询
Posted
技术标签:
【中文标题】使用 HSQL DB 测试插入所有 Oracle 查询【英文标题】:Testing Insert All Oracle query with HSQL DB 【发布时间】:2014-12-09 12:00:17 【问题描述】:我有一个关于如何解决以下问题的疑问。 我得到了一个查询,它尝试使用 INSERT ALL INTO 语句将多行插入到 oracle db 表中。 (并且此语法特定于 ORACLE)。但是我们在测试用例中使用 hsqldb 作为内存数据库。 (仅在测试配置文件中) 问题是 HSQL DB 将不接受 INSERT ALL INTO sql 语法。因此,我们必须跳过此方法的测试用例,或者编写一个插入单个记录的查询并使用 java for 循环调用该查询。有人可以就最好的方法提出建议吗?我假设从 java for 循环调用插入不会对性能造成严重影响,因为循环不会超过大约 20-30 次迭代。任何帮助,将不胜感激。谢谢
【问题讨论】:
【参考方案1】:Oracle INSERT ALL 允许将多行插入到单个或多个表中。
HSQLDB 允许使用以下语法将多行插入到同一个表中:
INSERT INTO t (col1, col2, col3) VALUES
('val1_1', 'val1_2', 'val1_3'),
('val2_1', 'val2_2', 'val2_3'),
('val3_1', 'val3_2', 'val3_3')
【讨论】:
以上是关于使用 HSQL DB 测试插入所有 Oracle 查询的主要内容,如果未能解决你的问题,请参考以下文章
异常 SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] 错误