【2019-2020春学期】数据库作业17:SQL练习9 - CURSOR

Laura ·
更新时间:2024-11-15
· 566 次阅读

程序运行:

IF(exists(select * from sys.objects where name='pro_cursor')) DROP PROCEDURE pro_cursor GO CREATE PROCEDURE pro_cursor --存储过程 AS DECLARE @Sno char(9) --定义变量 DECLARE @Sname char(20) --定义变量 DECLARE mycursor CURSOR FOR select Sno,Sname from Student --声明游标 OPEN mycursor --打开游标 FETCH NEXT FROM mycursor INTO @Sno,@Sname WHILE(@@FETCH_STATUS=0)--遍历所有的数据 BEGIN PRINT '游标成功取出一条数据:' PRINT @Sno PRINT @Sname PRINT '**********************' FETCH NEXT FROM mycursor INTO @Sno,@Sname --取下一条游标数据 END CLOSE mycursor --关闭游标 DEALLOCATE mycursor--删除游标 GO EXEC pro_cursor

在这里插入图片描述
游标总结:
1.游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每个游标区都有一个名字,用户可以通过游标逐一获取记录并赋给主变量,交由主语句进一步处理
2.使用游标之前应该需要说明游标
此时定义的游标只是一条说明性语句,这是关系数据库管理系统并不执行SELECT语句
3.打开游标进行操作以后需要关闭游标

T-SQL中使用游标:
(1)说明游标

DECLARE CURSOR FOR --声明游标

(2)打开游标

OPEN --打开游标

(3)关闭游标

CLOSE --关闭游标

(4)推进游标指针并取当前记录

FETCH NEXT FROM INTO --取下一条游标数据

(5)删除游标

DEALLOCATE --删除游标
作者:咸鱼4号



数据 SQL sql练习 cursor 数据库

需要 登录 后方可回复, 如果你还没有账号请 注册新账号