标签: tsql-sequence

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

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

select next value for MY_SEQ
Run Code Online (Sandbox Code Playgroud)

如果您不抑制要从中选择的表,则对于每一行,将输出下一个值:

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)
Run Code Online (Sandbox Code Playgroud)

如何选择n序列的下一个值?

在 Oracle 中,这看起来像这样:

select MY_SEQ.nextval
from (
         select level
         from dual
         connect by level < 10
     )
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情:

select top(10) next value for MY_SEQ
Run Code Online (Sandbox Code Playgroud)

但结果是:

[S0001][11739] 如果设置了 ROWCOUNT 选项,或者查询包含 TOP 或 OFFSET,则无法使用 NEXT VALUE FOR 函数。

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

sql sql-server tsql-sequence

7
推荐指数
2
解决办法
6386
查看次数

是否可以将字符串连接到序列值并用作列默认值?

我想为一个序列中的列设置一个默认值,就像这里所做的那样,但还要在序列前面加上一个值,这样保存在表中的值看起来像P123. 那可能吗?

sql-server sql-server-2014 tsql-sequence

5
推荐指数
1
解决办法
2226
查看次数

标签 统计

sql-server ×2

tsql-sequence ×2

sql ×1

sql-server-2014 ×1