1、什么情况下使用游标? 答:当查询的结果是一个集合(很多元组),就必须用游标逐一读取,相当于一个指针,可以在SQL语句中依次遍历某个select的结果集的每行记录每个字段,游标是可以从结果集中每次提取一条记录的机制,因为很多程序不具备操作一个集合的能力。 2、游标格式: declare @变量1 变量1类型,@变量2 变量2类型,...,@变量n 变量n类型; declare 游标名称 cursor for select 字段名1,字段名2,...,字段名n from [数据库名].表名 where条件 [排序]; open 游标名称; fetch next from 游标名称 into @变量1,@变量2,...,@变量n; while @@fetch_status=0 begin sql语句 end close 游标名称; deallocate 游标名称; 3、变量: @@CURSOR_ROWS:整型变量,表示在当前连接中打开的游标中的行数量; @@FETHC_STATUS:标记变量,表示当前游标指针的状态。 4、游标示例: declare @cursor cursor --创建游标 set @cursor=cursor for select _id,_name from users --设定游标欲操作的数据集 open @cursor --打开游标 fetch next from @cursor into @_id,@_name --移动游标指向到第一条数据,提取第一条数据存放在变量中 while(@@fetch_status=0) --如果上一次操作成功则继续循环 begin print @_name --操作提出的数据 fetch next from @cursor into @_id,@_name --继续提下一行 end close @cursor --关闭游标 deallocate @curso --删除游标