studentDB数据库中t_student表,声明一个处理姓以 “张”开头的学生的游标。
DECLARE student_cursor CURSOR FOR
SELECT sname FROM t_student
WHERE sname LIKE '张%'
ORDER BY sno
--创建一个游表,对于这一个查询语句的结果表当中
-- 打开游标
OPEN student_cursor
-- 首先提取第一行数据
FETCH NEXT FROM student_cursor
WHILE @@FETCH_STATUS = 0
--while循环,只要有下一行全局变量的返回值一直为0,该循环一直执行下去。。。。
BEGIN
FETCH NEXT FROM student_cursor
END
-- 关闭游标
CLOSE student_cursor
-- 释放游标
DEALLOCATE student_cursor
GO
对部分值进行筛选
DECLARE @sname varchar(20), @sno char(10)
DECLARE student_cursor CURSOR FOR
SELECT sno, sname FROM t_student
WHERE sname LIKE '张%'
ORDER BY sno, sname
OPEN student_cursor
-- 首先提取第一行数据,并将结果保存到局部变量中
FETCH NEXT FROM student_cursor
INTO @sno,@sname
WHILE @@FETCH_STATUS = 0
BEGIN
-- 将当前行值连接成一个字符串
PRINT '学生: ' + @sno + ' ' + @sname
--提取下一行数据
FETCH NEXT FROM student_cursor
INTO @sno, @sname
END
CLOSE student_cursor
DEALLOCATE student_cursor
GO