Подключайтесь в HSQL DB

1

Я писал тестовые примеры для запроса, который использует connect по иерархическому предложению. Кажется, что нет поддержки этого предложения в HSQL Db.

Существуют ли альтернативы для тестирования запроса или написания другого запроса, который делает то же самое.

Запрос прост

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

Благодарю.

Теги:
hsqldb

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

0

Согласно этому 2-летнему билету, только Oracle и база данных под названием CUBRID имеют возможность CONNECT BY. Если вы действительно этого хотите, возможно, вы можете проголосовать за билет. Однако, насколько я мог сказать, в проекте работают только два человека, поэтому не задерживайте дыхание.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню