SQL Server 2005数据库技术与应用 作者 赵丽辉 第11章 游标、事务.ppt

SQL Server 2005数据库技术与应用 作者 赵丽辉 第11章 游标、事务.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 游标、事务 【学习要点】 游标和事务的基本概念及作用 游标的基本操作 事务的特性、分类 事务的启动、提交和回滚事务 11.1游标 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL选择语句相关联,因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。 11.1.1声明游标 DECLARE 游标名[INSENSITIVE][SCROLL] [STATIC|KEYSET|DYNAMIC|FAST_FORWARD]CURSOR FORSELECT 语句 [FOR READ ONLY | UPDATE[OF列名1,列名2,列名3…] 11.1 游标 11.1.2打开游标 声明了游标后,在正式操作之前,必须打开它。打开游标的语法格式如下: OPEN 游标名称 当执行打开游标的语句时,服务器执行声明游标时使用的SELECT语句,如果使用了INSENSITIVE关键字,则服务器会在tempdb中建立一张临时表,以存放游标将要操作的数据集的副本。 11.1 游标 11.1.3提取数据 当用OPEN语句打开了游标并在数据库中执行了查询后,并不能立即利用查询结果集中的数据,必须用FETCH语句来提取数据,一条FETCH语句一次可以将一条记录放入指定的变量中。事实上,FETCH语句是游标使用的核心。语法格式如下: FETCH [[NEXT|PRIOR|FIRST|LAST |ABSOLUTE{N|@NVAR } |RELATIVE{N|@NVAR}] FROM ]游标名 [INTO @变量[,…n]] 11.1 游标 11.1.4关闭游标 在使用完游标的时候,一定要关闭游标,以通知服务器释放游标所占的资源。关闭游标的语法如下: CLOSE 游标名称 11.1 游标 11.1.5释放游标 在使用完游标后,为了回收被游标占用的资源,应该将游标释放。释放游标的语法如下: DEALLOCATE 游标名称 11.2事务 事务是单个的工作单元,是一个操作序列,它包含了一组数据操作命令,并且所有的命令作为一个整体一起向系统提交或撤消操作请求,即这一组数据库命令要么都执行要么都不执行。如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据修改均会回到更改前的状态。 11.2.1事务概述 事务是并发控制的基本单位。所谓事务,就是一个操作序列,序列中的操作作为一个不可分割的工作单元,要么都执行,要么都不执行。 事务具有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这4个特性也简称为ACID特性,事务的4个特性使数据能够正确地提交到数据库中。 11.2事务 11.2.2自动提交事务 每条单独的语句都是一个事务。所有Transact-SQL语句在完成时,都会提交或回滚。如果一条语句成功完成,则将其提交,如果遇到任何错误,则将其回滚。只要没有用显式或隐性事务模式替代自动提交模式,SQL Server连接就以自动提交模式为默认模式进行操作。 11.2事务 11.2.3显式事务 事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,则由DBMS按默认规定自动划分事务。在SQL语言中,控制事务的语句有4条。 (1)开始事务:BEGIN TRANSACTION 。 (2)提交事务:COMMIT。 (3)回滚事务:ROLLBACK。 (4)保存事务点:SAVE TRANSATION。 事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常结束。ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。 11.2事务 11.2.4隐式事务 通过SET IMPLICIT_TRANSACTIONS ON语句,将隐式事务模式设置为打开。当连接以隐式事务模式进行操作时,SQL Server将在提交或回滚当前事务后自动启动新事务。无需描述事务的开始,只需提交或回滚每个事务。隐式事务模式生成连续的事务链。 在发出COMMIT或ROLLBACK语句之前,该事

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档