Java 带H2的递归查询
我试图用H2创建一个递归查询,但似乎无法使其正常工作 我尝试使用的递归查询与我的答案大致相同。我正试图为JUnit测试创建一个查询,因为H2无法创建真正的存储过程(处理结果集的Java代码不是一个很好的答案,因为它完全跳过了我测试中的大部分代码) 我已经彻底阅读了H2文档,并尝试了一些基本的方法,即使用。我发现,当我在控制台中运行H2文档中显示的递归查询时,它不起作用:( 我正在使用文档链接中的第二个示例,即:Java 带H2的递归查询,java,h2,Java,H2,我试图用H2创建一个递归查询,但似乎无法使其正常工作 我尝试使用的递归查询与我的答案大致相同。我正试图为JUnit测试创建一个查询,因为H2无法创建真正的存储过程(处理结果集的Java代码不是一个很好的答案,因为它完全跳过了我测试中的大部分代码) 我已经彻底阅读了H2文档,并尝试了一些基本的方法,即使用。我发现,当我在控制台中运行H2文档中显示的递归查询时,它不起作用:( 我正在使用文档链接中的第二个示例,即: WITH cte1 AS ( SELECT 1 AS FIRST_C
WITH cte1 AS (
SELECT 1 AS FIRST_COLUMN
), cte2 AS (
SELECT FIRST_COLUMN+1 AS FIRST_COLUMN FROM cte1
)
SELECT sum(FIRST_COLUMN) FROM cte2;
有人知道为什么这个查询不起作用吗?似乎如果它在文档中,它应该起作用;可能是一个回归错误?我使用的是H2版本1.4.188
看起来H2不喜欢没有指定CTE的值(例如,cte1(第一列)
),但是文档似乎表明它不是必需的。但是,即使我解决了这个问题,它在第一个CTE的右括号后的逗号上失败,这正是我试图编写的查询的地方