如何从雪花序列中获取一组数字



我只看到这种方式来获得序列号。但我想要一大块。选择seq1。

您可以使用雪花生成器生成行,然后使用seq.nextval获得序列块。我猜这就是你的意思:

-- Create the sequence
create or replace sequence seq1;
-- Generate the block
select
s.nextval
from table (generator(rowcount => 10)) v,
table (getnextval(seq1)) s
order by 1;

上面的输出select:

+-------+
|NEXTVAL|
+-------+
|1      |
|2      |
|3      |
|4      |
|5      |
|6      |
|7      |
|8      |
|9      |
|10     |
+-------+

理解序列的语义很重要。序列不一定像这个例子中那样顺序生成(没有间隔),但它们总是唯一的。

从上面链接的文档:

不能保证序列中的值是连续的(无间隙),也不能保证序列值是按特定顺序赋值的。事实上,除了使用单行语句外,没有办法将序列中的值按指定顺序分配给行(这仍然不能保证间隔)。

相关内容

  • 没有找到相关文章

最新更新