2

我正在为使用按分层子句连接的查询编写测试用例。HSQL Db 中似乎不支持此子句。

是否有任何替代方法可以测试查询或编写执行相同操作的不同查询。

查询很简单

SELECT seq.nextval
FROM DUAL
CONNECT BY level <= ?

谢谢。

4

2 回答 2

1

您不需要为此进行递归查询。

要生成一系列数字,您可以使用sequence_array

select * 
from unnest(sequence_array(1, ?, 1))

更多细节在手册中:http:
//hsqldb.org/doc/2.0/guide/builtinfunctions-chapt.html#N14088

如果您需要将序列推进特定数量的条目,则可以使用以下内容:

select NEXT VALUE FOR seq
from unnest(sequence_array(1, 20, 1));

如果您需要将序列设置为新值,这在 HSQLDB 中要容易得多:

ALTER SEQUENCE seq restart with 42;

如果您正在寻找递归查询,那么 HSQLDB 支持 ANSI SQL 标准:递归公用表表达式,手册中记录了这些表达式:http:
//hsqldb.org/doc/2.0/guide/dataaccess-chapt.html #dac_with_clause

于 2014-07-25T07:16:54.043 回答
0

根据这张 2 年前的票证,只有 Oracle 和一个名为 CUBRID 的数据库具有 CONNECT BY 功能。如果你真的想要它,也许你可以在票上投票。但是,据我所知,这个项目只有两个人,所以不要屏住呼吸。

于 2014-07-25T07:02:44.543 回答