小编ann*_*nna的帖子

解决游标问题

我有个问题。我正在使用游标。每次获取最后的记录并打印其数据后,光标都会打印一条附加行。要理解我的意思,请考虑以下示例示例:我只想打印有关10个客户的信息。

USE Northwind
GO

DECLARE myCursor CURSOR 
FOR SELECT TOP(10) ContactName FROM Customers
DECLARE @RowNo int,@ContactName nvarchar(30)
SET @RowNo=1
OPEN myCursor
FETCH NEXT FROM myCursor INTO @ContactName
PRINT  LEFT(CAST(@rowNo as varchar) + '      ',6)+'  '+ @ContactName
SET @RowNo=@RowNo+1
SET @ContactName=''
WHILE @@FETCH_STATUS=0
  BEGIN
        FETCH NEXT FROM myCursor INTO @ContactName
        PRINT + LEFT(CAST(@rowNo as varchar) + '      ',6)+'  '+ @ContactName
        SET @RowNo=@RowNo+1
        SET @ContactName=''
  END
CLOSE myCursor
DEALLOCATE myCursor
Run Code Online (Sandbox Code Playgroud)

现在看一下输出:

1       Maria Anders
2       Ana Trujillo
3       Antonio Moreno
4       Thomas …
Run Code Online (Sandbox Code Playgroud)

sql-server cursors sql-server-2008

4
推荐指数
1
解决办法
5295
查看次数

标签 统计

cursors ×1

sql-server ×1

sql-server-2008 ×1