当前位置: 数据库>sqlserver
教你怎么使用sql游标实例分享
来源: 互联网 发布时间:2014-10-07
本文导语: [sql] --1.将每个老师的工资更新为原来的工资+奖金 --定义两个变量,用来存储ttid与reward declare @tid int declare @reward money --1。建立一个基于奖金表的游标 declare cur_reward cursor fast_forward for select ttid,reward from TblTeacherSalary --2.打开游标...
[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
--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