客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。因为服务器游标并不支持全部的Transact-SQL 语句或批处理,因此客户游标经常仅被用做服务器游标的辅助。由于在通常状况下,服务器游标能支持绝大多数的游标操做。因为API 游标和Transact-SQL 游标使用在服务器端,因此被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。
游标包含两方面的内容:
●游标结果集:执行其中的Select语句所获得的结果集;
●游标位置:一个指向游标结果集内的某一条记录的指针
利用游标能够单独操纵结果集中的每一行。游标在定义之后存在两种状态:关闭和打开。
当游标关闭时,其查询结果集不存在;只有当游标打开时,才能按行读取或修改结果集中的数据。
使用游标
不管使用哪种游标,都须要通过以下几个步骤:
●定义游标
●打开游标
●从游标中操做数据
●关闭游标
下面是用法 DECLARE cursor1 cursor /* 声明游标,默认为FORWARD_ONLY游标 */ FOR SELECT * FROM books OPEN cursor1 /* 打开游标 */ FETCH NEXT from cursor1 /* 读取第1行数据*/ WHILE @@FETCH_STATUS = 0 /* 用WHILE循环控制游标活动 */ BEGIN FETCH NEXT from cursor1 /* 在循环体内将读取其他行数据 */ END CLOSE cursor1 /* 关闭游标 */ DEALLOCATE cursor 1