游标的作用是什么?

 我来答
生活常识爱分享
高能答主

2019-07-22 · 专注于生活常识内容分享!
生活常识爱分享
采纳数:7565 获赞数:864936

向TA提问 私信TA
展开全部

游标在处理数据中提供了在结果集中一次一行或者多行前进或向后浏览数据的能力,可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标可以被看作是一个查询结果集和结果集中指向特定记录的游标位置组成的一个临时文件,提供了在查询结果集中向前或向后浏览数据、处理结果集中数据的能力。

有了游标,用户就可以访问结果集中任意一行数据,在将游标放置到某行之后,可以在该行或从该位置的行块上执行操作。

扩展资料

游标的类型

MS SQL SERVER 支持三种类型的游标:Transact_SQL 游标,API服务器游标和客户游标。

1、Transact_SQL 游标

Transact_SQL 游标由DECLARE CURSOR 语法定义、主要用在Transact_SQL脚本、存储过程和触发器中。Transact_SQL 游标主要用在服务器上,由从客户端发送给服务器的Transact_SQL 语句或是批处理、存储过程、触发器中的Transact_SQL 进行管理。

2、API游标

API 游标支持在OLE DB, ODBC 以及DB_library 中使用游标函数,主要用在服务器上。每一次客户端应用程序调用API 游标函数,MS SQL SEVER 的OLE DB 提供者、ODBC驱动器或DB_library 的动态链接库都会将这些客户请求传送给服务器以对API游标进行处理。

3、客户游标

客户游标主要是当在客户机上缓存结果集时才使用。在客户游标中,有一个缺省的结果集被用来在客户机上缓存整个结果集。客户游标仅支持静态游标而非动态游标。由于API 游标和Transact-SQL 游标使用在服务器端,所以被称为服务器游标,也被称为后台游标,而客户端游标被称为前台游标。

参考资料来源:百度百科—游标

wenchaojian
2007-09-07 · TA获得超过1179个赞
知道答主
回答量:61
采纳率:0%
帮助的人:104万
展开全部
游标是对数据集的顺序循环,在一些特定的情况下,是非常有作用的,但是游标的效率是一个大的问题;
对于sql server 2000及以前的板本的数据库,如果有一张成绩表,成绩表中包含了五个科目的成绩,相当于一个学生有五条记录在里面,那么如果要得到每个成绩的前三名,这就需要用到游标;(当然你也可以写五条语句来分别取前三名是哪些人);但是对于科目不确定的时候,游标就起作用了,先拿到所有的科目,再在这些科目中循环取出每一个科目的前三名。

但是如果数据表中有几十万或者更大量的数据时,游标的效率是要考虑的。
因为游标相当于在这么大的表中不停地查找,直到你想要的结果,实际上与你一个特征一个特征地取数据是一样的,只是那样子你也穷举无数种可能,而游标在这种情况下会按一种你定义的规则自动进行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ppllxx99
2013-04-08
知道答主
回答量:1
采纳率:0%
帮助的人:1515
展开全部
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
到底是谁用了我的昵称
推荐于2017-09-02 · TA获得超过2.6万个赞
知道大有可为答主
回答量:2038
采纳率:50%
帮助的人:1082万
展开全部
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果

每个游标区都有一个名字

用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理

主语言是面向记录的,一组主变量一次只能存放一条记录

仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求

嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
温顺还悉心丶赤子1
2007-09-07 · TA获得超过219个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:0
展开全部
数据集
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式