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
标签:Sname,--,创建,游标,pym,使用,ADDPYM,fetch From: https://www.cnblogs.com/jiangge23/p/17197494.html