Sql 存储过程加游标结合的使用

创建一个存储过程使用游标  如果该职工入职时间超过3年 并且学历 在本科以上 则对该职工工资加10%如果 学历没达到本科的 入职时间在10年以上 同样对该职工工资追加8%  其他的一律不加

CREATE proc jiagongzi
as
declare @name nvarchar(20)
declare @xueli nvarchar(20)
declare @time datetime
declare @gongzi intdeclare zengjia cursor scroll
for
select * from 职员表
open zengjia
fetch next from zengjia into @name,@xueli,@time,@gongzi
while @@FETCH_STATUS=0
begin
 if (@xueli='本科' or @xueli='硕士') and DATEDIFF(year, @time, getdate())>=3
 begin
  update 职员表 set 工资=@gongzi+@gongzi*0.1 where 姓名=@name
 end
 if (@xueli<>'本科' and @xueli<>'硕士') and DATEDIFF(year, @time, getdate())>=10
 begin
  update 职员表 set 工资=@gongzi+@gongzi*0.08 where 姓名=@name
 end
 fetch next from zengjia into @name,@xueli,@time,@gongzi
end
close zengjia
deallocate zengjia  goexec jiagongzi
(0)

相关推荐