2022年荆州职业技术学院《网络数据库技术》课程教案

上传人:hs****ma 文档编号:567313546 上传时间:2024-07-19 格式:PDF 页数:7 大小:84.78KB
返回 下载 相关 举报
2022年荆州职业技术学院《网络数据库技术》课程教案_第1页
第1页 / 共7页
2022年荆州职业技术学院《网络数据库技术》课程教案_第2页
第2页 / 共7页
2022年荆州职业技术学院《网络数据库技术》课程教案_第3页
第3页 / 共7页
2022年荆州职业技术学院《网络数据库技术》课程教案_第4页
第4页 / 共7页
2022年荆州职业技术学院《网络数据库技术》课程教案_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《2022年荆州职业技术学院《网络数据库技术》课程教案》由会员分享,可在线阅读,更多相关《2022年荆州职业技术学院《网络数据库技术》课程教案(7页珍藏版)》请在金锄头文库上搜索。

1、名师精编精品教案荆 州 职 业 技 术 学 院 网 络 数 据 库 技 术 课 程 教 案专业班级教师授课时间教学课题第十二讲游标及事务学时2 教学目的1、学习 SQL Server2000 数据库的事务处理2、掌握游标的使用方法3、配合其它T-SQL语句灵活使用游标4、了解 SQL Server 锁机制教材分析重点1、掌握事务的使用方法2、游标的灵活应用难点Inserted、Deleted 表的使用教学方法采用“项目教学法”教学手段多媒体教学教学过 复习巩固,问题牵引、导入新课。提问:5min 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1

2、页,共 7 页名师精编精品教案程及时间分配小结及作业布置 5min【教学内容】第十三章游标及事务1.1 游标的定义及其优点1. 游标的概念游标 (Cursor)是一种处理数据的方法,为了查看或者处理结果集中的数据,游标提供了在结果集中向前或者向后浏览数据的能力。可以把游标看成一种指针,它既可以指向当前位置, 也可以指向结果集中的任意位置,它允许用户对指定位置的数据进行处理,可以把结果集中的数据放在数组、应用程序中或其它地方。Transact-SQL游标遵循ANSI-92 标准。2. 使用游标的优点允许程序对由查询语句SELECT 返回的行集合中的每一行数据执行相同或不同的操作,而不是对整个行集

3、合执行同一个操作提供对基于游标位置的表中的行进行删除和更新的能力游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来1. 游标的使用1. 使用游标的步骤使用游标具体地说,有如下几个步骤: 创建游标。使用T-SQL 语句生成一个结果集,并且定义游标的特征,如游标中的记录是否可以修改。 打开游标。 从游标的结果集中读取数据。从游标中检索一行或多行数据称为取数据。 对游标中的数据逐行操作。 关闭和释放游标。1. 游标的使用?游标的定义及使用过程?1). 声明游标?声明游标是指用DECLARE 语句声明或创建一个游标。?声明游标的语法如下:

4、DECLARE cursor_name SCROLL CURSOR 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页名师精编精品教案FOR select_statement FOR READ ONLY|UPDATEOF column_name_list ?其中: cursor_name:是游标的名字,为一个合法的SQL Server 标识符,游标的名字必须遵循SQL Server 命名规范。 SCROLL :表示取游标时可以使用关键字NEXT 、PRIOR 、 FIRST 、LAST 、ABSOLUTE、RELATIVE 。每个关

5、键字的含义将在介绍FETCH 子句时讲解。select_statement:是定义游标结果集的标准 SELECT语句,它可以是一个完整语法和语义的 Transact-SQL 的 SELECT 语句。13.2 游标的使用但是这个 SELECT 语句必须有FROM 子句,不允许使用关键字 COMPUTE 、 COMPUTE BY、 FOR BROWSE 和 INTO。FOR READ ONLY:指出该游标结果集只能读,不能修改。FOR UPDATE:指出该游标结果集可以被修改。OF column_name_list:列出可以被修改的列的名单。?应该注意 : 游标有且只有两种方式:FOR READ

6、ONLY 或 FOR UPDATE 。当游标方式指定为FOR READ ONLY 时,游标涉及的表不能被修改。当游标方式指定为FOR UPDATE 时,可以删除或更新游标涉及的表中的行。通常,这也是缺省方式,即不指定游标方式时为FOR UPDATE 方式。声明游标的DECLARE CURSOR 语句必须是在该游标的任何OPEN 语句之前。?2). 打开游标?打开游标是指打开已被声明但尚未被打开的游标,打开游标使用OPEN 语句。?打开游标的语法如下:? OPEN cursor_name ?其中:? cursor_name是一个已声明的尚未打开的游标名。?注意:当游标打开成功时,游标位置指向结果

7、集的第一行之前。只能打开已经声明但尚未打开的游标。?3). 从打开的游标中提取行?游标被打开后,游标位置位于结果集的第一行前,此时可以从结果集中提取(FETCH )行。 SQL Server将沿着游标结果集一行或多行向下移动游标位置,不断提取结果集中的数据,并修改和保存游标当前的位置,直到结果集中的行全部被提取。?从打开的游标中提取行的语法如下:?FETCH NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE FROM ?cursor_name INTO fetch_target_list ?其中: cursor_name :为一已声明并已打开的游标名字。NEXT|

8、PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE :游标移动方向,缺省情况下是NEXT ,即向下移动。 NEXT:取下一行数据。 PRIOR:取前一行数据。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 7 页名师精编精品教案 FIRST :取第一行数据。?LAST:取最后一行数据。? ABSOLUTE :按绝对位置取数据。? RELATIVE:按相对位置取数据。?另外,有个全局变量FETCH_STATUS和rowcount提供关于游标活动的信息?4). 关闭游标?关闭 (Close) 游标是停止处理定义游标的那个查

9、询。关闭游标并不改变它的定义,可以再次用open 语句打开它, SQL Server会用该游标的定义重新创建这个游标的一个结果集。?关闭游标的语法如下:CLOSE cursor_name ?其中: cursor_name :是已被打开并将要被关闭的游标名字。在如下情况下,SQL Server 会自动地关闭已打开的游标:当你退出这个SQL Server 会话时从声明游标的存储过程中返回时5). 释放游标释放 ( Deallocate)游标是指释放所有分配给此游标的资源,包括该游标的名字。释放游标的语法是:DEALLOCATE CURSOR cursor_name 其中: cursor_name

10、:将要被DEALLOCATE 释放的游标名字。如果释放一个已打开但未被关闭的游标,SQL Server 会自动先关闭这个游标,然后再释放它。关闭游标与释放游标的区别:关闭游标并不改变游标的定义,一个游标关闭后,不需要再次声明,就可以重新打开并使用它。但一个游标释放后,就释放了与该游标有关的一切资源,也包括游标的声明,游标释放后就不能再使用该游标了,如需再次使用游标,就必须重新定义。13.3 使用游标修改数据?13.3.1 更新数据?通过在 UPDATE 语句中使用游标可以更新表或视图中的行。被更新的行依赖于游标位置的当前值。?更新数据语法形式如下:?UPDATE table_name|view

11、_name SET table_name.|view_name. ?column_name = new_value .n ?WHERE CURRENT OF cursor_name ?其中:紧跟 UPDATE 之后的 table_name| view_name: 要更新的表名或视图名,可以加或不加限定。但它必须是声明该游标的SELECT 语句中的表名或视图名。column_name: 是要更新的列的列名,可以加或不加限定。 但它们必须是声明游标的SELECT语句中 UPDATE OF column_name_list的子集 new_value :为被更新列的新值,它可以是一个表达式、空值或子查

12、询。 WHERE CURRENT OF:使 SQL Server 只更新由指定游标的游标位置当前值确定的行。 cursor_name :是已声明为FOR UPDATE 方式并已打开的游标名。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 7 页名师精编精品教案?注意: 使用 UPDATE.CURRENT OF语句一次只能更新当前游标位置确定的那一行,OPEN 语句将游标位置定位在结果集第一行前,可以使用 FETCH 语句把游标位置定位在要被更新的数据行处。 用 UPDATE.WHERE CURRENT OF语句更新表中的行时,不会移动游

13、标位置,被更新的行可以再次被修改,直到下一个FETCH语句的执行。 UPDATE.WHERE CURRENT OF 语句可以更新多表视图或被连接的多表,但只能更新其中一个表的行,即所有被更新的列都来自同一个表。?注意: 使用游标的DELETE语句,一次只能删除当前游标位置确定的那一行。OPEN语句将游标位置定位在结果集第一行之前,可以用FETCH语句把游标位置定位在要被删除的行处。 在 DELETE 语句中使用的游标必须声明为FOR UPDATE 方式。而且声明游标的SELECT 语句中不能含有连接操作或涉及多表视图,否则即使声明中指明了FOR UPDATE 方式,也不能删除其中的行。 对使用

14、游标删除行的表,要求有一个唯一索引。 使用游标的DELETE 语句,删除一行后将游标位置向前移动一行。13.4 事务的使用1. 事务的概念所谓事务 (Transaction ),是指一个操作序列,这些操作序列要么都被执行,要么都不被执行,它是一个不可分割的工作单元。2. 事务的特点在多用户DBMS 中,“事务”是个十分重要的概念。它是保持数据一致性及可恢复性的基本工作单位。事务的主要特点是:一致性:它保证并发用户读取数据的一致性。隔离性:事务内部的操作及使用的数据对并发的其他事务是隔离的。可恢复性: DBMS 利用事务日志能对事务进行自动恢复。3. 事务的管理在 SQL Server 中,对事

15、务的管理包含三个方面:事务控制语句:控制事务执行的语句。包括将一系列操作定义为一个工作单元来处理。锁机制 :封锁正被一个事务修改的数据,防止其他用户访问到“不一致”的数据。事务日志:使事务具有可恢复性。为了尽可能避免死锁的出现,应注意:在所有的事务中都按同一顺序来访问各个表。尽可能利用存储过程来完成一个事务,以保证对各表的访问次序都是一致的。事务应该尽量小且应尽快提交。避免人工输入操作出现在事务中。避免并发地执行许多像INSERT 、UPDATE 、DELETE 这类数据修改语句13.4.3 事务控制语句在 SQL Server 中,对事务的管理是通过事务控制语句和几个全局变量结合起来实现的。

16、精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页名师精编精品教案1. 事务控制语句SAVE TRAN :后跟保存点名,表示设置保存点BEGIN TRAN tran_name :标识一个用户定义的事务的开始。tran_name 为事务的名字,标识一个事务开始。COMMIT TRAN tran_name : 表示提交事务中的一切操作,结束一个用户定义的事务。使得对数据库的改变生效。ROLLBACK TRAN tran_name|save_name :回退一个事务到事务的开头或一个保存点。表示要撤消该事务已做的操作,回滚到事务开始前或保

17、存点前的状态。SAVE TRAN save_name:在事务中设置一个保存点。它可以使一个事务内的部分操作回退。COMMIT TRAN / * 提交 A组语句,且若未回退B组语句则提交B组语句 * / ?4. 在事务中不能包含的语句?注意,事务中不能包含如下语句:? CREATE DATABASE ? ALTER DATABASE ? BACKUP LOG ? DROP DATABASE ? RECONFIGURE ? RESTORE DATABASE ? RESTORE LOG ? UPDATE STATISTICS ?5. 事务使用示例?【例】 使用事务向表book 中插入数据。USE j

18、wgl GO BEGIN TRAN tran_examp INSERT INTO book ( book_id , book_name , publish_company) VALUES ( dep04_s006_01 , VFP程序设计 , 南京大学出版社 )SAVE TRAN int_point INSERT INTO book ( book_id , book_name , publish_company ) VALUES ( dep04_s006_02 , VFP实验指导书 , 东南大学出版社 )GO ?INSERT INTO book ?(book_id , book_name) ?VALUES ?(dep04_s006_03 , VFP 课程设计指导书) ?GO ?IF error0 ?ROLLBACK TRAN int_point ?GO 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 7 页名师精编精品教案?COMMIT TRAN tran_examp ?GO本章教学小结本章的重点在于掌握游标的概念和使用方法以及事务的概念和使用方法精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 7 页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号