如何在 HSQLDB 中生成一个范围内的数字行列表?
我需要在基数中插入整个数字范围。
像这样的东西
INSERT INTO numers
VALUES
(50001)
(50002)
...
(59999)
Run Code Online (Sandbox Code Playgroud)
在 oracle 中,可以通过“CONNECT BY LEVEL”来完成,但是我如何在 HSQLDB 中做到这一点?
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)