如何在 HSQLDB 中生成一个范围内的数字行列表?
Posted
技术标签:
【中文标题】如何在 HSQLDB 中生成一个范围内的数字行列表?【英文标题】:How generate a list of rows of numers in a range in HSQLDB? 【发布时间】:2014-02-02 04:59:45 【问题描述】:如何在HSQLDB中生成一个范围内的数字行列表?
我需要在基数中插入整个数字范围。
类似的东西
INSERT INTO numers
VALUES
(50001)
(50002)
...
(59999)
在 oracle 中,可以使用“CONNECT BY LEVEL”来完成,但我如何在 HSQLDB 中完成呢?
【问题讨论】:
你可以使用一个过程。只需查看文档中的 hsqldb 示例:hsqldb.org/doc/2.0/guide/…。 【参考方案1】: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)
如果您想以不同的数字开头,只需将其作为参数提供给 sequence_array
函数即可。
insert into numbers (some_number)
select nr
from unnest(sequence_array(50000, 59999, 1)) as i(nr)
【讨论】:
i(nr)
是什么意思?以上是关于如何在 HSQLDB 中生成一个范围内的数字行列表?的主要内容,如果未能解决你的问题,请参考以下文章