1 --游标使用流程
2 use book
3 go
4 declare @stuName varchar(400)
5 declare @major varchar(400)
6 --声明一个游标并与sql语句关联
7 declare mycursor cursor for
8 select stuName,major from dbo.student
9 --打开游标
10 open mycursor
11 --取sql语句结果
12 fetch next from mycursor into @stuName,@major
13 --@@FETCH_STATUS判断上一句fetch是否成功,循环读取
14 --@@fetch_status是MSSQL的一个全局变量
15 -- 其值有以下三种,分别表示三种不同含义:【返回类型integer】
16 -- 0 FETCH 语句成功
17 -- -1 FETCH 语句失败或此行不在结果集中
18 -- -2 被提取的行不存在
19 -- @@fetch_status值的改变是通过fetch next from实现的
20 -- FETCH NEXT FROM Cursor
21 while @@FETCH_STATUS<>-1
22 begin
23 if @@fetch_status <> -2
24 begin
25 print @stuName+@major
26 fetch next from mycursor into @stuName,@major
27 end
28 end
29 --关闭游标
30 close mycursor
31 --释放游标资源
32 deallocate mycursor