游标简例

本文介绍了一个使用SQL游标遍历并更新数据的具体案例。通过声明变量和游标,实现了从AddSalary表中读取数据,并更新OriginSalary表中的对应记录。此外,还解释了@@fetch_status全局变量的不同值及其含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 被提取的行不存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值