SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt

SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt

ID:50028158

大小:758.00 KB

页数:96页

时间:2020-03-07

SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt_第1页
SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt_第2页
SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt_第3页
SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt_第4页
SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt_第5页
资源描述:

《SQL Server基础教程 教学课件 作者 董翔英 等第10章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、10.1游标概念10.2游标操作第十章使用游标查询结果集游标是用于标识使用ELECT语句从一个或多个基本表中选取出的一个结果集,类似于高级语言中的数据指针,移动指针可以取得指针所指的数据,通过移动游标也可以在结果集中提取某行数据,通过游标可反映基本表数据的变化,也可以通过游标修改基本表数据。10.1游标概念使用SELECT语句可以从一个或多个表中选取到的某些结果行,该结果行集就作为源表数据的一个子集,称为数据子集,如图10-1。+选择条件数据子集单一表或多个表一、数据子集在查询分析器中执行SELECT语句后,所选取的结果会直接粘贴在屏幕上,如果需要对所选

2、择出来的数据做进一步处理的话,必须声明一个cursor来代表所选择出来的数据子集,当cursor创建后,往后对此数据子集内的数据处理都必须通过此cursor做为标识。如果应用程序需要重复使用同一个数据子集,那么创建一个游标可以重复使用该数据子集。如果数据子集是通过较为复杂的选取命令得到,可以用游标保存该数据子集,以便日后直接使用.二、游    标数据库游标(cursor)与字处理程序屏幕上的光标类似,光标可以在编辑文件中上下一行一行滚动,可以前后一页一页翻动,打开多个编辑文件时,每个打开的编辑文件都有自己的光标,在自身的文件中移动定位,数据库游标的操作也

3、如此。用游标可以选择一组记录,它可以在这组记录上滚动,可以检查游标所指的每一行数据,可以取出该行数据进行再处理。事实上也可以把游标想像成如同一个数据指针,它指向一数据子集,该数据子a集就是经过SELECT语句对从单个表或多个表中选取出的结果集,移动游标可以指向结果集中不同的记录行。游标的使用需要先行定义,然后再打开进行数据处理,其步骤为:关闭(close)读取(fetch)删除(deallocate)声明(declare)打开(open)声明游标即创建或定义游标,向系统申请游标所需内存。打开游标,用游标定义中的选择结果集填充游标。读取数据,一次检出(fe

4、tch)一行记录的数据,直到结果集的最后一行。使用完毕后关闭游标,清空游标内数据。删除不再需要的游标,释放分配给游标的内存。游标使用流程如图10-2。关闭(close)读取(fetch)删除(deallocate)声明(declare)打开(open)图10-2游标的使用流程三、游 标 类 型(一)静态游标静态游标所标识的数据子集即SELECT语句的结果集,通常被存放在临时保存表中,该临时表创建在tempdb数据库中。静态游标内的数据在游标打开后就不再变化,基本表的任何数据更改(包括增加、删除或修改数据)都不会反映到游标中,静态游标只能是只读的,有时也称

5、为快照游标,它完全不受其他用户行为的影响。(二)动态游标当动态游标在滚动时能反应结果集内最及时和最新的数据,基本表的数据变化能够同步出现在游标内,用户所做的所有INSTER、UPDATE和DELETE操作均通过游标反映出来,所以游标内数据的行、列数据值或顺序每次提取时都可能改变。(三)只进游标只进游标只能从头到尾顺序提取数据,不能向后滚动,所以在行提取后对行所做的更改对游标是不可见的。该类游标只能使用NEXT选项提取数据行。(四)键集驱动游标键集驱动游标是一种改进的静态游标,它将键集存储在tempdb数据库的临时表中,它能检测到基本表中大部分非键值的变化

6、。上述游标检测结果集变化的能力和消耗系统资源(如在tempdb中所占的内存和空间)的情况各不相同。游标仅当再次提取行时才会检测到行的更改,数据源没有办法通知游标当前提取行的更改。静态游标在滚动期间很少或更本检测不到变化,虽然它在tempdb中存储了整个游标,但消耗的资源很少。尽管动态游标使用tempdb的程度最低,在滚动期间它能够检测到所有变化,但消耗的资源也更多。键集驱动游标介于二者之间,它能检测到大部分的变化,但比动态游标消耗更少的资源。另外游标还具有以下属性:1、只读游标-游标内数据不能修改,即不能通过游标修改基本表数据。静态游标属于只读游标。2、

7、可修改游标-游标内数据可以修改,即可以修改游标当前数据,其修改结果会影响到基本表。3、滚动游标-相对于只进游标,滚动游标可以前、后滚动,可使用所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE和ABSOLUTE)。4、快速只进游标——一种优化的只进游标,它提取的行的数据总是最新的,行在被提取之前所做的修改可以反映出来,行提取之后的修改不可见。SQLServer将只进和滚动都作为能应用到静态游标、键集驱动游标和动态游标的选项。图10-3示意图说明了当基本表数据发生改变时,动态游标所标识的子集将发生应变化,而静态游标所标识的基本表数

8、据数据子集动态游标静态游标可修改游标只读游标标数据子集不会变化。当据时,只读游标

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。