SQL server游标的使用
程序员文章站
2024-03-15 17:49:48
...
游标的含义
- 游标是SQL 的一种数据访问机制。可以将游标简单的看成是查询的结果集的一个指针,可以根据需要在结果集上面来回滚动,浏览需要的数据。
游标的作用
- 遍历数据行;
- 保存查询结果,方便下文调用。概念中提到使用游标会保存数据行的副本,那么创建游标后,下文查询即可从副本中查询,要比直接查数据库快很多。
游标的使用
数据库表
- Customers表:ConsumeAmount-消费费用、ConsumeLeve-消费等级
示例
1.创建游标,通过游标实现没人消费水平的判断,并赋值字段
declare cur_statis Cursor //游标名称,唯一标识
for //接查询语句
select id,ConsumeAmount from Customers
2.打开游标,通过游标获取数据取值
//打开游标
open cur_customer
//通过游标获取数据,ID,ConsumeAmount,取值
declare @id int //行数据id
declare @Cacount int //消费金额
fetch next from cur_customer --fetch(拿) next(下一个)
into @id,@Cacount
//循环往下
while(@@FETCH_STATUS=0)//FETCH_STATUS:从多条数据记录的结果集中每次提取一条记录,控制在while中循环的游标活动
begin
//修改消费等级
if(@Cacount<500)
update Customers set ConsumeLeve='低消费' where id=@id
else if(@Cacount<1000)
update Customers set ConsumeLeve='中消费' where id=@id
else
update Customers set ConsumeLeve='高消费' where id=@id
fetch next from cur_customer into @id,@cacount
end
3.关闭游标,并且释放游标
//关闭游标
close cur_customer
//释放游标
deallocate cur_customer
- 结果示例
上一篇: 数据库系统原理学习笔记
推荐阅读
-
SQL server游标的使用
-
在SQL Server中使用CLR调用.NET方法实现思路
-
SQL Server 链接服务器“不允许使用远程表值函数调用”(NOLOCK)是罪魁祸首
-
Sql Server使用记录
-
sql server 2012使用触发器产生流水号并在另一库中创建与流水号有关的表
-
SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
-
SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题
-
DBA应该知道的一些关于SQL Server跟踪标记的使用
-
Linux下使用PHP连接SQL Server 2005
-
使用sp_cycle_errorlog管理SQL Server错误日志