教你怎么使用sql游标实例分享

时间:2022-08-29 13:53:59

[sql] 
--1.将每个老师的工资更新为原来的工资+奖金 

--定义两个变量,用来存储ttid与reward 

declare @tid int 
declare @reward money 

--1。建立一个基于奖金表的游标 

declare cur_reward cursor fast_forward for select ttid,reward from TblTeacherSalary 
--2.打开游标 
open cur_reward 

--通过游标读取数据 
fetch next from cur_reward into @tid,@reward 
while @@fetch_status=0 
begin 

--更新工资 
update TblTeacher set ttsalary=ttsalary+@reward where ttid=@tid 
fetch next from cur_reward into @tid,@reward 
end 

--3.关闭游标 
close cur_reward 

--4.释放资源 
deallocate cur_reward 

说明:在一般情况下,不要使用游标。性能极点低下。 假如在处理大量数据。普通的sql 执行非常慢时,这个时候可以试试游标。也许会给你带来意想不到效果 


作者 xhccom