1 / 37
文档名称:

第9章 游标、事务与锁.ppt

格式:ppt   页数:37
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章 游标、事务与锁.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第9章 游标、事务与锁.ppt

文档介绍

文档介绍:第9章游标、事务与锁
本章学习目标
l   理解游标、事务的概念及作用
l 了解锁的相关知识
l 掌握并灵活运用游标和事务以提高系统开发效率
游标
游标及其作用
数据库的游标是类似于C语言指针的语言结构。通常情况下,数据库执行的大多数SQL命令都是同时处理集合内部的所有数据。但是,有时用户也需要对这些数据集合中的某一行进行操作。在没有游标的情况下,这种工作不得不放到数据库前端用高级语言来实现,这将导致不必要的数据传输,从而延长执行时间。通过使用游标就可以在服务器端有效地解决这个问题。
游标支持以下功能;
①在结果集中定位特定行。
②从结果集的当前位置检索行。
③支持对结果集中当前位置的行进行数据修改。
使用游标
游标主要用在存储过程、触发器和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 语句。PUTE 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|***@n

最近更新

2024年湖北职业技术学院马克思主义基本原理概.. 13页

2024年湖南省(147所)马克思主义基本原理概论.. 13页

2024年漯河医学高等专科学校马克思主义基本原.. 13页

2024年烟台工程职业技术学院马克思主义基本原.. 13页

2024年益阳医学高等专科学校马克思主义基本原.. 13页

2024年砀山县招教考试备考题库及答案解析(必.. 31页

2024年福贡县幼儿园教师招教考试备考题库附答.. 31页

2024年绥德县幼儿园教师招教考试备考题库及答.. 30页

2024年芜湖医药健康职业学院马克思主义基本原.. 12页

2024年莒南县幼儿园教师招教考试备考题库带答.. 31页

2024年衡水健康科技职业学院马克思主义基本原.. 13页

2024年西安明德理工学院马克思主义基本原理概.. 12页

2024年贵州农业职业学院马克思主义基本原理概.. 13页

2024年达孜县幼儿园教师招教考试备考题库带答.. 31页

2024年邢台县招教考试备考题库带答案解析(必.. 31页

2024年重庆电子科技职业大学马克思主义基本原.. 12页

2024年镇原县幼儿园教师招教考试备考题库含答.. 31页

2024年阳山县招教考试备考题库含答案解析(夺.. 31页

2024年陵县幼儿园教师招教考试备考题库附答案.. 30页

2024年青海民族大学马克思主义基本原理概论期.. 12页

2024年马鞍山学院马克思主义基本原理概论期末.. 12页

2024年黎川县幼儿园教师招教考试备考题库附答.. 31页

2024年龙岩学院马克思主义基本原理概论期末考.. 13页

2025年三都水族自治县招教考试备考题库附答案.. 30页

缺陷检测技术在物联网设备中的应用 31页

2025年上海闵行职业技术学院马克思主义基本原.. 13页

2025年中国石油大学(华东)马克思主义基本原.. 12页

蜂窝状材料导电性能提升 36页

2025年云南新兴职业学院单招职业技能考试模拟.. 44页

2025年仁化县幼儿园教师招教考试备考题库附答.. 30页