《游标和事务》PPT课件

《游标和事务》PPT课件

ID:45550563

大小:275.34 KB

页数:22页

时间:2019-11-14

《游标和事务》PPT课件_第1页
《游标和事务》PPT课件_第2页
《游标和事务》PPT课件_第3页
《游标和事务》PPT课件_第4页
《游标和事务》PPT课件_第5页
资源描述:

《《游标和事务》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章游标和事务学习要点:游标的定义和使用方法事务的定义、操作以及具体应用8.1游标8.2事务开始8.1游标游标是一种数据结构。通过这种结构,程序可以将查询结果保存在其中,并可对其中某行(或某些行)的数据进行操作。游标中的数据保存在内存中,从其中提取数据的速度要比从数据表中直接提取数据的速度要快得多。8.1.1游标的定义及优点1.游标的定义SELECT语句返回的所有行的集合均作为一个整体处理,而无法对其中的一行或部分行做单独处理。而在实际开发中,尤其是在交互应用程序设计中,人们常常需要对SELECT语句所返回结果集合中的不同行做不同处理。游标

2、正是这样一种方法,它能够部分读取返回结果集合中的数据行,并允许应用程序通过游标定位修改表中数据。2.游标的优点游标的主要好处是可以逐行的处理数据。通过游标允许程序对由select产生的结果集的每一行执行相同或不同的操作;允许从结果集中检索指定的行;允许结果集中的当前行被修改;允许被其它用户修改的数据在结果集中是可见的。8.1.2游标的用法1.声明游标语法形式如下:DECLAREcursor_name[SCROLL]CURSORFORselect_statement[FOR{READONLY

3、UPDATE[OFcolumn_name[,...n

4、]]}]cursor_name:是所定义的游标名称。cursor_name必须遵从标识符规则。SCROLL指定所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。如果在DECLARECURSOR中未指定SCROLL,则NEXT是唯一支持的提取选项。select_statement:是定义游标结果集的标准SELECT语句。在游标声明的select_statement内不允许使用关键字COMPUTE、COMPUTEBY、FORBROWSE和INTO。FORREADONLY:指出游标的结果集是只读

5、的,不能修改。FORUPDATE[OFcolumn_name[,...n]]:指出游标的结果集是可以被修改的。如果指定OFcolumn_name[,...n]参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。例8-1定义一个游标,其数据为表salers中的全部数据DECLAREmyCursorCURSORForselect*fromSalers2.打开游标OPENcursor_namecursor_name是已声明过的并且没有打开的游标名称。打开游标后,可以从全局变量@@CURSOR_ROWS中读取游标结果集

6、合中的行数。3.从打开的游标中提取数据FETCH[[NEXT

7、PRIOR

8、FIRST

9、LAST

10、ABSOLUTEn

11、RELATIVEn]FROM]cursor_name[INTO@variable_name[,...n]NEXT:提取上次提取行之后的行,即向下移动。如果FETCHNEXT为对游标的第一次提取操作,则返回结果集中的第一行。NEXT为默认的游标提取选项。PRIOR:提取上次提取行之前的行。如果FETCHPRIOR为对游标的第一次提取操作,则没有行返回并且游标置于第一行之前。LAST:提取游标中的最后一行并将其作为当前行。ABSOL

12、UTEn:如果n为正数,则提取游标中从第1行开始的第n行。如果n为负整数,则提取游标中的倒数第n行。RELATIVEn:如果n为正数,则提取所上次提取行之后的第n行。如果n为负数,则提取上次所提取行之前的第n行。如果n为0,则同一行被再次提取。cursor_name:要从中进行提取的游标的名称。INTO@variable_name[,...n]:允许将提取操作的列数据放到局部变量中。注意:FETCH语句每次只能提取一行数据。因为Transact-SQL游标不支持块(多行)提取操作。FETCH语句的执行状态保存在全局变量@@FETCH_STAT

13、US中,该变量有三种取值:当取值为0时,说明FETCH语句执行成功。当取值为-1时,说明FETCH语句失败或此行不在结果集中。当取值为-2时,说明被提取的行不存在。4.关闭游标当提取完游标结果集中的数据时,应及时调用CLOSE语句关闭游标,以便释放游标所占用的系统资源。CLOSEcursor_namecursor_name是要被关闭的游标名。5.释放(删除)游标由于关闭游标时并没有删除游标,因此,游标仍然占用着系统资源。则将其关闭后,还需要使用DEALLOCATE语句来释放游标所占用的系统资源。DEALLOCATEcursor_name8.1

14、.3使用游标修改数据UPDATE语句和DELETE语句也支持游标操作,它们可以通过游标修改或删除游标基表中的当前数据行。这样,就可以通过游标更新和删除数据表中的数据

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

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

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