游标使用
游标的使用顺序:
1.声明游标
2.打开游标
3.获取数据
4.关闭游标
5.删除游标
declare @cursor cursor for <select语句>;
2.打开游标:open @cursor
3.获取数据:FETCH [ NEXT | PRIOR | FIRST | LAST] FROM { 游标名 | @游标变量名 } [ INTO @变量名 [,…] ] into 将提取操作的列数据放到变量中;变量的顺序和结果集中的相应列关联,而且必须变量个数要和列的个数一致;变量数据类型必须和列的类型一致或者是列数据类型所支持隐性转换
关闭游标close @cursor
删除游标:deallocate @cursor 理由是:游标被关闭后可以再次被打开,占据的数据库资源并没有被释放
declare @eqtypeid int
declare @type varchar(30)
declare @make varchar(30)
declare @cursor cursor --定义变量,类型为游标
set @cursor=cursor for --使用SQL设置游标
select eqtype.eqtypeid, eqtype,make from eqtype inner join equipment on eqtype.eqtypeid=equipment.eqtypeid
open @cursor --使用前需要将游标打开
fetch next from @cursor into @eqtypeid,@type,@make
while(@@fetch_status=0) --当前游标是否处于记录末尾
begin
update eqtype set eqtype=substring(@type+'test'+@make,0,30) where eqtypeid=@eqtypeid
fetch next from @cursor into @eqtypeid,@type,@make
end