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:提取的行不存在。
本身性别只有男、女
当第三次执行时,就返回空记录集了