sqlserver游标概念与实例全面解说
2010-03-31 00:00:00 来源:WEB开发网通过上面的注释,我想大家都明白了整个游标的创建过程了吧。但是我们现在还是一个抽象的了解,我们学任何知识,都要用于实践,这样才能使抽象的东西变的具体。
那我们就运行这个存储过程,看看游标到底是怎么取值的:
我们打开SQLSERVER2000的查询分析器,制定好数据库后,我们执行存储过程
Exec PK_Test
让我看看效果吧(如图)
查看原图(大图)
通过实例我们可以看到游标逐行逐行都把值都取出来了。那么我请大家先不看下面的答案,在引言部分我刚才留个大家的问题试一下能不能解决?
现在我们写一个存储过程解决刚才我留下来的问题吧
CREATE PROCEDURE PK_SalaryAdd
AS
declare @O_ID nvarchar(20),@A_Salary float
declare mycursor cursor for select O_ID,A_Salary from AddSalary
open mycursor
fetch next from mycursor into @O_ID,@A_Salary
while(@@fetch_status = 0)
begin
Update OriginSalary set O_Salary=O_Salary+@A_Salary where O_ID=@O_ID
fetch next from mycursor into @O_ID,@A_Salary
end
close mycursor
deallocate mycursor
GO
按照老方法,我们用查询分析器来执行我们的存储过程,看看结果是怎么样的?
Exec PK_SalaryAdd
让我看看效果吧(如图)
查看原图(大图)
执行存储过程,看到我们影响了3行数据
用sql语句,看看表OriginSalary现在的结果:
查看原图(大图)
1.4 结束语
很高兴大家能把这个教程看完,其实这只是游标的最最基础的一个应用,显示生活的逻辑的关系中,可能有更复杂的游标。但是我们只有学会走路,才能跑步嘛,o(∩_∩)o…。
- ››SQLServer 游标简介与使用说明
- ››sqlserver游标概念与实例全面解说
- ››游标与事物与错误消息机制
- ››SqlServer性能优化——Slide Window
- ››SqlServer性能优化:Partition(创建分区)
- ››SqlServer性能优化:Partition(管理分区)
- ››SQLServer2005中的uniqueidentifier数据类型与NEW...
- ››SQLServer 2005 常用的函数
- ››SqlServer的timestamp数据类型
- ››sqlserver动态交叉表的范例
- ››SQLServer索引调优实践
- ››SQLServer索引调优实践(2) - 索引覆盖
赞助商链接