如何在sql server中回滚序列

时间:2014-10-29 15:08:39

标签: sql-server sql-server-2012

我宣布了这个序列:

CREATE SEQUENCE [dbo].[Monitor_Seq] 
 AS [int]
 START WITH 1
 INCREMENT BY 1
 MINVALUE 1
 MAXVALUE 2147483647
 CACHE 
GO

我这样用它:

declare @y int
declare @i int
select @y = 1

while @y < 100 begin

    SELECT @i = NEXT VALUE FOR Monitor_Seq;
    PRINT CAST ( @I AS VARCHAR)


    -- use @i here


    select @y = @y + 1

end /*while*/

问题是:

代码中的内容:

- 在这里使用@i

假设我决定不继续使用特定号码,我该如何将其恢复到我的序列? 让我们说当我得到NEXT VALUE = 10 情况使我不能继续使用数字10。

下次我拿到

时我想要那个
 SELECT @i = NEXT VALUE FOR Monitor_Seq;

我想再次获得@i = 10。 这有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以重新启动序列:

ALTER SEQUENCE Monitor_Seq RESTART WITH 10;