SQL Server 【提高】 游标

游标定义

sql语言按照标准处理对象是集合,但有时候也需要针对单行的处理,所以就有了游标,类似C语言的指针一样。

使用方法

创建游标

declare cursor_name --游标名称,唯一标识
[insensitive] [scroll] cursor 
for
select_statement --查询语句
[for {read only| update [of column_name [,…n]]}]

read only
设置游标数据只读,指定read only后,对底层表的改动不会更新其游标数据。

示例

drop table #temp
--创建游标
create table #temp(
code varchar(128),
name nvarchar(256)
)

insert into #temp values('1111','aaaa')
insert into #temp values('1112','bbbb')
insert into #temp values('1113','cccc')

declare cursor_demo scroll cursor 
for
select code,name from #temp order by code

--打开游标
open cursor_demo

--定义变量
declare @code varchar(128), @name nvarchar(256)

--提取最后一行学校信息
fetch last from cursor_demo into @code, @name

print 'code:' + @code + ' name:' + @name

--关闭游标
close cursor_demo

--释放游标
deallocate cursor_demo
原文地址:https://www.cnblogs.com/thomerson/p/13204967.html