如何在SPring HSQLDB中执行嵌套查询

时间:2013-04-03 08:04:53

标签: spring hsqldb

我正在为HSQLDB创建插入嵌套脚本,例如

插入表(col1,col2)值('val1',(从table2中选择val2,其中col3 ='val3'))

当我尝试使用Spring JDBCTemplate作为

执行此查询时

jdbcTemplate.execute(query);

它给了我带有未知令牌的BadSQL语法的例外:

但是,如果我为MySQL运行相同的查询,它可以正常工作,但对于HSQLDB,它不是1。

有人可以告诉我这个问题吗?

1 个答案:

答案 0 :(得分:0)

最新的HSQLDB 2.x支持查询语法。

如果table2中只有一行col3='val3',则该语句成功。但如果有多行,则失败。众所周知,MySQL会忽略SQL标准的这些细节。

如果这是问题,那么你可以使用

 insert into table (col1, col2) 
 values ('val1', (select val2 from table2 where col3='val3' limit 1))