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

程序运行:

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 <SELECT语句> --声明游标

(2)打开游标

OPEN <游标名> --打开游标

(3)关闭游标

CLOSE <游标名> --关闭游标

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

FETCH NEXT FROM <游标名> INTO <主变量> --取下一条游标数据

(5)删除游标

DEALLOCATE <游标名>--删除游标
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值