如何在 HSQLDB 中生成一个范围内的数字行列表?

cae*_*cae 3 sql hsqldb

如何在 HSQLDB 中生成一个范围内的数字行列表?

我需要在基数中插入整个数字范围。

像这样的东西

INSERT INTO numers
VALUES
(50001)
(50002)
...
(59999)
Run Code Online (Sandbox Code Playgroud)

在 oracle 中,可以通过“CONNECT BY LEVEL”来完成,但是我如何在 HSQLDB 中做到这一点?

a_h*_*ame 5

HyperSQL(现在称为 HSQLDB)具有类似于 Postgres 的generate_series(). 使用sequence_array与一起unnest()功能,您可以生成值的列表:

insert into numbers (some_number)
select nr
from unnest(sequence_array(1, 100, 1)) as i(nr)
Run Code Online (Sandbox Code Playgroud)

如果您想从不同的数字开始,只需将其作为sequence_array函数的参数提供。

insert into numbers (some_number)
select nr
from unnest(sequence_array(50000, 59999, 1)) as i(nr)
Run Code Online (Sandbox Code Playgroud)