我正在为使用按分层子句连接的查询编写测试用例。HSQL Db 中似乎不支持此子句。
是否有任何替代方法可以测试查询或编写执行相同操作的不同查询。
查询很简单
SELECT seq.nextval
FROM DUAL
CONNECT BY level <= ?
谢谢。
我正在为使用按分层子句连接的查询编写测试用例。HSQL Db 中似乎不支持此子句。
是否有任何替代方法可以测试查询或编写执行相同操作的不同查询。
查询很简单
SELECT seq.nextval
FROM DUAL
CONNECT BY level <= ?
谢谢。
您不需要为此进行递归查询。
要生成一系列数字,您可以使用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
根据这张 2 年前的票证,只有 Oracle 和一个名为 CUBRID 的数据库具有 CONNECT BY 功能。如果你真的想要它,也许你可以在票上投票。但是,据我所知,这个项目只有两个人,所以不要屏住呼吸。