gpt4 book ai didi

SQL Server 获取序列的多个下一个值

转载 作者:行者123 更新时间:2023-12-04 12:36:56 24 4
gpt4 key购买 nike

在 SQL Server 中,您可以从如下序列中选择下一个值:

select next value for MY_SEQ
如果您不抑制从中选择的表,对于每一行,将输出下一个值:
select next value for MY_SEQ 
from MY_TABLE

[2020-09-08 15:47:34] 350 rows retrieved starting from 1 in 102 ms (execution: 62 ms, fetching: 40 ms)
如何选择下一个 n序列的值?
在 Oracle 中,这看起来像这样:
select MY_SEQ.nextval
from (
select level
from dual
connect by level < 10
)

我试过这样的事情:
select top(10) next value for MY_SEQ
但结果是:

[S0001][11739] NEXT VALUE FOR function cannot be used if ROWCOUNT option has been set, or the query contains TOP or OFFSET.


我想我可以用 n 创建一个临时表行并从中选择,但这不是一个特别优雅的解决方案。

最佳答案

我认为您正在寻找系统存储过程“sp_sequence_get_range”
要从您的序列中获取接下来的 10 个值,它会是这样的

DECLARE @range_first_value_output sql_variant ;  

EXEC sys.sp_sequence_get_range
@sequence_name = N'MY_SEQ'
, @range_size = 10
, @range_first_value = @range_first_value_output OUTPUT ;

SELECT @range_first_value_output AS FirstNumber;

关于SQL Server 获取序列的多个下一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63795382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com