我宣布了这个序列:
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。 这有可能吗?
答案 0 :(得分:1)
您可以重新启动序列:
ALTER SEQUENCE Monitor_Seq RESTART WITH 10;