我正在尝试设置一个游标来循环遍历表中的一列,并确定序列是否已结束。如果序列已经结束,我想输出start和end值。例如:
00001
00002
00003
00004 -- End here and output 1-4
00007
00008
00009 -- End here and output 7-9
00011
00012
00013 -- End here and output 11-13
我对游标非常陌生,但我相信这就是你开始处理它们的方式:
DECLARE @Product bigint
DECLARE @ProductId nvarchar(100)
DECLARE @ProductCursor CURSOR
SET @ProductCursor = CURSOR FOR
SELECT
Products.Product,
Products.ProductId
FROM Products
OPEN @ProductCursor
FETCH NEXT FROM @ProductCursor INTO
@Product,
@ProductId
WHILE @@FETCH_STATUS = 0
BEGIN
--Do something
SELECT 'aaa'
FETCH NEXT FROM @ProductCursor INTO
@Product,
@ProductId
END
CLOSE @ProductCursor
DEALLOCATE @ProductCursor
我的想法是,我应该循环遍历从1到13的值,并检查它之前的值是否等于当前值。这样,如果我们在0004上,我们应该在变量中保持上一个值(00003),加1并检查它是否等于当前值(00004)。如果没有,我们就必须结束当前序列并输出起始值和结束值。我不太清楚这是怎么做的,也许要设立一个柜台?
暂无答案!
目前还没有任何答案,快来回答吧!