游标简例

来源:互联网 发布:补码如何转换成源码 编辑:程序博客网 时间:2024/05/20 21:20
declare @O_ID int,@A_Salary float --声明变量declare youbiao cursor--声明游标forselect O_ID,A_Salary from AddSalaryopen youbiao--打开游标fetch next from youbiao into @O_ID,@A_Salaryprint @O_IDprint @A_Salarywhile(@@fetch_status = 0)beginUpdate OriginSalary set O_Salary=O_Salary+@A_Salary where O_ID=@O_IDfetch next from youbiao into @O_ID,@A_Salaryprint @O_IDprint @A_Salaryprint @@fetch_statusendclose 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 被提取的行不存在