当前位置: 代码迷 >> Sql Server >> 一个游标应用的有关问题
  详细解决方案

一个游标应用的有关问题

热度:49   发布时间:2016-04-24 10:43:42.0
一个游标应用的问题
declare c_1 cursor
for 
select 性别,count(*) as 人数 from 员工信息表 group by 性别
declare @xb char(4),@rs int
open c_1
fetch next from c_1
while @@fetch_status=0
begin
fetch next from c_1 
end
close c_1
deallocate c_1


因为上传不了图片,大家看下面的尽量理解下吧。
执行代码返回的消息是:
(1 行受影响)

(1 行受影响)

(0 行受影响)

执行结果是:
    性别   人数
1    男  10

 性别   人数
1    女  5


   性别   人数


请问:最后那个没有数据“性别   人数”是怎么产生的?请解释下原因好吗?
------解决方案--------------------
楼主理解@@FETCH_STATUS 的含义就清楚了

@@FETCH_STATUS 返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态
0:FETCH 语句成功。
-1:FETCH 语句失败或行不在结果集中
-2:提取的行不存在。
 
本身性别只有男、女
当第三次执行时,就返回空记录集了
  相关解决方案