游标中@@fetch_status的含义

@@fetch_status是MSSQL的一个全局变量,【返回类型integer】,其值有以下三种,分别表示三种不同含义:
 0        FETCH 语句成功
-1        FETCH 语句失败或此行不在结果集中
-2        被提取的行不存在
@@fetch_status值的改变是通过fetch next from实现的
FETCH NEXT FROM Cursor
例子:
复制代码
 1 DECLARE myCursor CURSOR FOR SELECT aa--字段名 FROM table--表名 
 2    WHERE DeleteFlag=0                                         --声明游标
 3         OPEN myCursor                                         --打开游标
 4         FETCH NEXT FROM myCursor INTO @bar                    --循环
 5         WHILE @@FETCH_STATUS = 0
 6         BEGIN 
 7             INSERT INTO @tempBarcode(Barcode) SELECT * FROM dbo.Fun_GetBarcode(@bar)
 8             FETCH NEXT FROM myCursor INTO @bar               --下次循环(很重要)
 9         END
10         CLOSE myCursor                                       --关闭游标
11         DEALLOCATE myCursor                                  --释放游标
posted @ 2021-03-06 20:15  nbako555  阅读(1900)  评论(0编辑  收藏  举报