答案:[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
上一个:SQL语句删除2条重复数据一条保留一条
下一个:将Reporting services的RDL文件拷贝到另外一台机器时报Data at the root level is invalid的解决方法