游标针对结果集,查询时拿到的是整个结果集,游标用于输出时以一条输出
创建游标有五个步骤:① 声明游标 ② 打开游标 ③ 提取数据 ④ 关闭游标 ⑤ 释放游标
1. 声明游标
-- 声明游标变量
declare @sname varchar(20),
@ssex varchar(20),
@snatns varchar(5)
-- 声明游标
declare student_cursor cursor for -- student_cursor 是游标名 ,for 代表做什么
select StdInfoName,StdInfoSex,StdInfoNatns
from dbo.StudentInfo
where StdInfoNatns = '汉' and StdInfoSex = '男'
2. 打开游标
open student_cursor
3. 提取数据
fetch next from student_cursor into @sname,@ssex,@snatns -- 将查询内容放入变量中
while @@FETCH_STATUS = 0 -- @@FETCH_STATUS 是一个全局变量,值为0时表示提取成功,存在数据, while 循环表示如果存在数据则执行
begin
print '学生姓名:'+@sname+'性别:'+@ssex+'民族:'+@snatns
fetch next from student_cursor into @sname,@ssex,@snatns -- 继续提取下一行
end
4. 关闭游标
close student_cursor
5. 释放游标
deallocate student_cursor