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

554 查看

[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