• / 37
  • 下载费用:10 金币  

数据库基础第9章 游标、事务与锁.ppt

关 键 词:
数据库基础第9章 游标、事务与锁.ppt
资源描述:
第9章 游标、事务与锁,本章学习目标,l 理解游标、事务的概念及作用 l 了解锁的相关知识 l 掌握并灵活运用游标和事务以提高系统开发效率,9.1 游标 9.1.1 游标及其作用数据库的游标是类似于C语言指针的语言结构。通常情况下,数据库执行的大多数SQL命令都是同时处理集合内部的所有数据。但是,有时用户也需要对这些数据集合中的某一行进行操作。在没有游标的情况下,这种工作不得不放到数据库前端用高级语言来实现,这将导致不必要的数据传输,从而延长执行时间。通过使用游标就可以在服务器端有效地解决这个问题。 游标支持以下功能; ①在结果集中定位特定行。 ②从结果集的当前位置检索行。 ③支持对结果集中当前位置的行进行数据修改。,9.1.2 使用游标 游标主要用在存储过程、触发器和Transact_SQL脚本中。用户可以把它理解为一种特殊变量,也必须先声明后使用。游标的使用可以总结为6个步骤:声明游标、打开游标、提取数据、修改数据、关闭游标、释放游标。 1. 声明游标 声明游标的语法如下: DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY | UPDATE [ OF column_name [ ,.n ] ] } ],其中:,l cursor_name :为游标名称。游标命名必须遵从Transact-SQL标识符规则。 l INSENSITIVE:定义一个游标时将在tempdb数据库中创建一个临时表,用于存储由该游标提取的数据。任何通过这个游标进行的操作,都在这个临时表里进行。因此,在对该游标进行提取操作时返回的数据中不反映对基表所做的修改,并且该游标不允许修改。如果省略 INSENSITIVE,那么用户对基表进行的任何操作都将在游标中反映出来。 l SCROLL:指定所有的提取选项(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。如果在声明时未指定 SCROLL,则声明的游标只具有默认的 NEXT 功能。是唯一支持的提取选项。如果指定 SCROLL,则不能也指定 FAST_FORWARD。 l select_statement:是定义游标结果集的标准SELECT 语句。在游标声明的SELECT语句内不允许使用关键字 COMPUTE、COMPUTE BY、FOR BROWSE 和 INTO。,l READ ONLY:设置游标为只读,使用该关键字时,不能通过该游标更新数据。在 UPDATE 或 DELETE 语句的 WHERE CURRENT OF 子句中不能引用游标。 l UPDATE [OF column_name [,.n]]:定义游标内可更新的列。如果指定 OF column_name [,.n] 参数,则只允许修改所列出的列。如果在 UPDATE 中未指定默认为可以更新所有列。 2. 打开游标 在使用游标之前,必须首先打开游标,方可执行指定操作。语法格式如下: OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name },l N: 该CURSOR所定义的数据已完全从表中读入,N为全部的数据行。 l -M:该CURSOR所定义的数据未完全从表中读入,M为目前CURSOR数据子集内的数据行。 l 0:无符合条件的数据或该CURSOR已被关闭或释放。 l -1:该游标为动态的,数据行经常变动无法确定。,其中:,l GLOBAL:指定 cursor_name 为全局游标。,l cursor_name:已声明的游标名称。如果全局游标和局部游标都使用 cursor_name 作为其名称,那么如果指定了 GLOBAL,cursor_name 指的是全局游标,否则 l cursor_name 指的是局部游标。打开一个游标以后,可以使用无参函数@@ERROR来判断打开操作是否成功。如果这个函数的返回植为0,则表示游标打开成功,否则表示游标打开失败。当游标打开成功之后,可以使用无参函数@@CURSOR_ROWS来获取这个游标中当前存在的记录行数。无参函数@@CURSOR_ROWS有四种可能的取值:,3. 从游标中提取记录 使用FETCH语句可以从游标中提取特定的一行记录。其语法格式如下: FETCH [ NEXT | PRIOR | FIRST | LAST | ABSOLUTE { n | @nvar } |RELATIVE {n|@nvar} ] FROM [GLOBAL] cur
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:数据库基础第9章 游标、事务与锁.ppt
链接地址:https://www.weizhuannet.com/p-9819114.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开