数据库作业17:SQL练习9 - CURSOR

阅读以下代码,在SQLserver上执行。分析结果,并总结游标的使用。

IF (exists (select * from sys.objects where name = 'proc_cursor'))   
 DROP PROCEDURE proc_cursor
 GO
 CREATE PROCEDURE proc_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 proc_cursor
  GO

运行结果:
在这里插入图片描述
在T-SQL中:
1)声明游标:
DECLARE <游标名> CURSOR FOR <SELECT语句>
(2)打开游标
OPEN <游标名>
(3)取一条游标记录
FETCH NEXT FROM <游标名>INTO <主变量> [<指示变量>][,<主变量>[指示变量]]…;
(4)关闭游标
CLOSE <游标名>
(5)删除游标
DEALLOCATE <游标名>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值