SQL Server返回序列的下一个值作为视图列

时间:2016-12-09 20:19:43

标签: sql-server tsql

假设我有一个MS SQL Server序列的集合,并希望将序列的名称,当前值和下一个值作为视图的列返回,因此每次在结果中包含时都会增加序列,怎么做我定义了视图?

select * from SEQUENCE_VIEW

NAME        CURRVALL NEXTVAL
SEQUENCE1   0        1
SEQUENCE2   1        2

我能够从sys.sequences中检索名称和当前值,但未能在视图定义中包含类似NEXT VALUE FOR NAME的内容。

EDIT 对于那些想知道为什么有人应该这样做的人,这个机制由内部ORMapper使用,而不依赖于底层数据库引擎中存在的标识列或类似机制来为条目生成id。

1 个答案:

答案 0 :(得分:0)

Create view SEQUENCE_VIEW as
  SELECT NAME
       , current_value as CURRVALL
       , current_value + increment as NEXTVAL
  FROM sys.sequences