游标的使用和创建
1.游标 参考(https://www.cnblogs.com/HDK2016/p/9306377.html)
2.优点
1)允许程序对由查询语句select
返回的行集合中的每一行执行相同或不同的操作,而不是对整个行集合执行同一个操作。
2)提供对基于游标位置的表中的行进行删除和更新的能力。
3)游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来。
2.缺点:
处理大数据量时,效率低下,占用内存大;
一般来说,能使用其他方式处理数据时,最好不要使用游标,除非是当你使用while
循环,子查询,临时表,表变量,自建函数或其他方式都无法处理某种操作的时候,再考虑使用游标。
--声明游标 ADDPYM declare ADDPYM cursor scroll for select dbo.fn_GetPy(Sname)pym,Sname from student --打开游标 open ADDPYM --提取数据 declare @pym varchar(50) declare @Sname varchar(50) fetch first from ADDPYM into @pym,@sname --@@fetch_status是SQLServer的一个全局变量,其值由数据库管理系统管理,值的改变是通过fetch next from触发的 --记录值有三种,分别为 --0 FETCH 数据提取成功 ---1 FETCH 没取到数据,游标中的数据已经取完 ---2 被提取的行不存在,进程被杀、意外中断 while @@fetch_status=0 begin begin update Student set pym=@pym where Sname=@Sname -- fetch next from ADDPYM into @pym,@sname end end --关闭游标 close ADDPYM --释放游标 deallocate ADDPYM
分类:
SQLSERVER
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器