Я писал тестовые примеры для запроса, который использует connect по иерархическому предложению. Кажется, что нет поддержки этого предложения в 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. Если вы действительно этого хотите, возможно, вы можете проголосовать за билет. Однако, насколько я мог сказать, в проекте работают только два человека, поэтому не задерживайте дыхание.
connect by
он поддерживает рекурсивные запросы: hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#dac_with_clause