游标
游标好处
1)允许程序对由查询语句select返回的行集合中的每一行执行相同或不同的操作,而不是对整个行集合执行同一个操作。
2)提供对基于游标位置的表中的行进行删除和更新的能力
3)游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来。
缺点:
处理大数据量时,效率低下,占用内存大;
一般来说,能使用其他方式处理数据时,最好不要使用游标,除非是当你使用while循环,子查询,临时表,表变量,自建函数或其他方式都无法处理某种操作的时候,再考虑使用游标。
首先声明一个游标,以及一些需要用到的临时变量
DECLARE @id int
DECLARE @name varchar(50)
DECLARE @age varchar(50)
使用游标,首先打开游标,并将游标下移一行
DECLARE myCursor cursor for
select Ce_ID,Ce_Name,Ce_Age from Ce
open myCursor
循环取出数据,并进行相应的逻辑处理,其中的变量就保存在@id和@name中;每次循环的结束,都要把游标下移
fetch next from myCursor into @id,@name,@age
while @@FETCH_STATUS=0
begin
fetch next from myCursor into @id,@name,@age
end
最后要关闭游标,并释放内存
close myCursor
deallocate myCursor