Sql server游标-1
1.定义:游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据。游标一次只指向一行。
用处:
1.指定到结果集中的某一行。
2.对当前位置的数据进行读写。
3.可以对结果集中的数据单独操作,而不是整行执行相同的操作。
4.是面向集合的数据库管理系统和面向行的程序设计之间的桥梁。
2.游标类型:
2.1.静态游标(不检测数据行的变化)2.2.动态游标(反映所有数据行的改变)2.3.仅向前游标(不支持滚动)2.4.键集游标(反映修改,但不能准确反映插入,删除)
3.游标的优缺点
3.1优点:
游标的结果集是由SELECT语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次,比重复查询数据库要快的多。
3.2缺点:
因为游标在使用过程中会锁住行,当数据量大时,可能会影响其他功能的正常运行。因此数据量较小时,考虑使用游标。游标将SELECT查询结果集作为变量,保存在内存中,如果游标数据量过大,会占用过多内存,造成内存不足,影响系统性能。
4.游标的使用:
4.1定义游标,
declare cursor_b cursor --定义游标名称
for select TobaccoName,TobaccoCount,CustomerName from OrderTable --定义游标数据来源基础表
4.2打开游标,
open cursor_b
4.3使用游标,
fetch next from cursor_b
while @@FETCH_STATUS = 0
begin
fetch next from cursor_b
end
4.4关闭游标,
close cursor_b
4.4删除游标
DEALLOCATE cursor_b
5.几种提取数据的方法
fetch first from 游标名 第一行
fecth last from 游标名 最后一行
fectch absolute n from 游标名 从第一行开始数,到第n行(n为整数)
fecth relation n from 游标名 从游标的当前位置数,到第n行(n为整数)
fecth next from 游标名 当前位置的下一行
fecth prior from 游标名 当前位置的上一行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?