declare @O_ID int,@A_Salary float --声明变量
declare youbiao cursor--声明游标
for
select O_ID,A_Salary from AddSalary
open youbiao--打开游标
fetch next from youbiao into @O_ID,@A_Salary
print @O_ID
print @A_Salary
while(@@fetch_status = 0)
begin
Update OriginSalary set O_Salary=O_Salary+@A_Salary where O_ID=@O_ID
fetch next from youbiao into @O_ID,@A_Salary
print @O_ID
print @A_Salary
print @@fetch_status
end
close youbiao --关闭游标
deallocate youbiao --释放游标
表结构
打印结果:
1
111
(1 行受影响)
2
112
0
(1 行受影响)
3
113
0
(1 行受影响)
3
113
-1
@@fetch_status是MSSQL的一个全局变量
其值有以下三种,分别表示三种不同含义:【返回类型integer】
0 FETCH 语句成功
-1 FETCH 语句失败或此行不在结果集中
-2 被提取的行不存在