数据库编程-补充材料-SQL游标.ppt

数据库编程-补充材料-SQL游标.ppt

ID:52124449

大小:788.50 KB

页数:30页

时间:2020-04-01

数据库编程-补充材料-SQL游标.ppt_第1页
数据库编程-补充材料-SQL游标.ppt_第2页
数据库编程-补充材料-SQL游标.ppt_第3页
数据库编程-补充材料-SQL游标.ppt_第4页
数据库编程-补充材料-SQL游标.ppt_第5页
资源描述:

《数据库编程-补充材料-SQL游标.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、游标简介关系数据库中的操作会对整个行集产生影响。由SELECT语句返回的行集包括所有满足该语句WHERE子句中条件的行。由语句所返回的这一完整的行集被称为结果集。应用程序,特别是交互式联机应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制以便每次处理一行或一部分行。游标就是提供这种机制的结果集扩展。游标通过以下方式扩展结果处理:游标简介允许定位在结果集的特定行。从结果集的当前位置检索一行或多行。支持对结果集中当前位置的行进行数据修改为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持。提供

2、脚本、存储过程和触发器中使用的访问结果集中的数据的SQL语句。游标简介请求游标支持两种请求游标的方法:Transact-SQL对根据SQL-92游标语法制定的游标,SQL语言支持使用它们的语法。数据库应用程序编程接口(API)游标函数SQLServer支持这些数据库API的游标功能:游标简介ADO(MicrosoftActiveX®数据对象)OLEDBODBC(开放式数据库连接)DB-Library应用程序不能混合使用这两种请求游标的方法。已经使用API指定游标行为的应用程序不能再执行Transact-SQLDECLARECURSOR语句请

3、求一个SQL游标。只有在将所有API游标特性均设回默认值后,应用程序才可以执行DECLARECURSOR。游标简介游标进程SQL游标和API游标有不同的语法,但下列一般进程可用于所有SQLServer游标:把游标与SQL语句的结果集相关联,并且定义游标的特征,如是否能够更新游标中的行。执行SQL语句以填充游标。检索想要查看的游标中的行。从游标中检索一行或多行的操作称为提取。执行一系列的提取操作以向前或向后检索行的操作称为滚动。根据需要,对游标中当前位置的行执行修改操作(更新或删除)。关闭游标。游标简介DECLARECURSOR定义Trans

4、act-SQL服务器游标的特性,例如游标的滚动行为和用于生成游标对其进行操作的结果集的查询。DECLARECURSOR接受基于SQL-92标准的语法和使用一组Transact-SQL扩展的语法。SQL-92语法DECLAREcursor_name[INSENSITIVE][SCROLL]CURSOR FORselect_statement[FOR{READONLY

5、UPDATE[OFcolumn_name[,...n]]}]游标简介SQLServer扩展语法DECLAREcursor_nameCURSOR [LOCAL

6、GLOBAL] [F

7、ORWARD_ONLY

8、SCROLL] [STATIC

9、KEYSET

10、DYNAMIC

11、FAST_FORWARD] [READ_ONLY

12、SCROLL_LOCKS

13、OPTIMISTIC] [TYPE_WARNING] FORselect_statement[FORUPDATE[OFcolumn_name[,...n]]]游标简介SQL-92参数cursor_name是所定义的SQLServer服务器游标名称。cursor_name必须遵从标识符规则。INSENSITIVE定义一个游标,以创建将由该游标使用的数据的临时复本。对游标的所有请求都从

14、tempdb中的该临时表中得到应答;因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。使用SQL-92语法时,如果省略INSENSITIVE,(任何用户)对基表提交的删除和更新都反映在后面的提取中。游标简介SCROLL指定所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。如果在SQL-92DECLARECURSOR中未指定SCROLL,则NEXT是唯一支持的提取选项。如果指定SCROLL,则不能也指定FAST_FORWARD。select_state

15、ment是定义游标结果集的标准SELECT语句。如果select_statement中的子句与所请求的游标类型的功能发生冲突,则SQLServe隐性地将游标转换为另一种类型。游标简介READONLY在UPDATE或DELETE语句的WHERECURRENTOF子句中不能引用游标。该选项替代要更新的游标的默认功能。UPDATE[OFcolumn_name[,...n]]定义游标内可更新的列。如果指定OFcolumn_name[,...n]参数,则只允许修改所列出的列。如果在UPDATE中未指定列的列表,则可以更新所有列。SQLServer扩展

16、参数游标简介LOCAL指定该游标的作用域对在其中创建它的批处理、存储过程或触发器是局部的。游标将在批处理、存储过程或触发器终止时隐性释放。GLOBAL指定该游标的作用域对连接是全

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

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

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