如何解决如何从雪花序列中获取数字块
我只看到这种获取序列号的方式。但我想得到一块。 select seq1.nextval a from dual;
解决方法
您可以使用雪花 generator 生成行,然后使用 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;
以上选择的输出:
+-------+
|NEXTVAL|
+-------+
|1 |
|2 |
|3 |
|4 |
|5 |
|6 |
|7 |
|8 |
|9 |
|10 |
+-------+
了解 semantics of sequences 很重要。序列不一定像本例中那样按顺序生成(没有间隙),但它们将始终是唯一的。
来自上面链接的文档:
无法保证序列中的值是连续的(无间隙)或序列值以特定顺序分配。实际上,除了使用单行语句(这仍然不能保证间隙)之外,没有其他方法可以将序列中的值以指定的顺序分配给行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。