第10章批处理与事务.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章批处理与事务

第10章 事务与批处理 本章导读 事务是最小的工作单元。这个工作单元要么成功完成所有操作,要么就是失败,并将所做的一切复原。批处理包含了多条T_SQL语句,可以使用户一次完成几项工作。 学习目的与要求 (1)理解批处理、事务的概念及作用。 (2)掌握并灵活运用批处理和事务以提高系统开发效率。 10.1批处理 10.1.1批处理定义 10.1.2使用批处理的规则 批处理是包含一组SQL语句的命令集合,从应用程序一次性地发送到 Microsoft SQL Server 服务器执行。SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句每次执行一条。 (1)create default , create rule , create trigger和create view等语句在同一个批处理中只能提交一个。 (2)不能在删除一个对象之后,在同一批处理中再次引用这个对象。 (3)不能把规则和默认值绑定到表字段或者自定义字段上之后,立即在同一批处理中使用它们。 (4)不能定义一个check约束之后,立即在同一个批处理中使用。 (5)不能修改表中一个字段名之后立即在同一个批处理中引用这个新字段。 (6)使用set语句设置的某些set选项不能应用于同一个批处理中的查询 (7)执行批处理中第一个存储过程时, 则execute关键字可以省略。 (8) go语句和T-SQL 语句不可在同一行上。但在go语句中可包含注释。 原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性(durability) 10.2 事务 10.2.1 事务的概念 10.2.2 事务的ACID性质 1.定义事务的开始 1)格式 BEGIN TRANSACTION [事务的名称 @变量] [ WITH MARK [‘描述标记的字符串’]]] 2)功能 定义显式事务的开始,使全局变量@@trancount的值加1。 [ WITH MARK [‘描述标记的字符串’] ] :在日志中标记事务。 执行每个事务, 根据当前事务隔离级别的设置情况,锁定资源,直到事务结束,使用命令 COMMIT TRANSACTION 对数据库作永久的改动,如果发生错误,则用 ROLLBACK TRANSACTION 语句回滚所有改动 10.2.3 事务控制语句 2.提交事务 1).格式 COMMIT TRANSACTION [事务的名称 @变量] COMMIT [ WORK ] 2).功能 它使事务开始以来所执行的所有数据修改成为数据库的永久部分,也标志一个事务的结束。因此不能在发出COMMIT TRANSACTION 语句之后回滚事务 如果 @@TRANCOUNT 为 1,命令COMMIT TRANSACTION释放连接占用的资源,并将变量@@TRANCOUNT 减少到 0。如果 @@TRANCOUNT 大于 1,则 COMMIT TRANSACTION 使 @@TRANCOUNT 按 1 递减。 当 @@TRANCOUNT 为 0 时发出 COMMIT TRANSACTION 将会导致出现错误,因为没有相应的 BEGIN TRANSACTION。 10.2.3 事务控制语句 3.回滚事务 1).格式 ROLLBACK TRANSACTION [事务名称 @变量 | 保存点 |@保存点变量] 或 ROLLBACK WORK 2).功能 回滚到事务的起点或指定的保存点处,标志事务的结束。 它将清除自事务的起点或到某个保存点所做的任何数据修改,并且释放由事务控制的资源。“@保存点变量”是用户定义的。在事务内允许有重复的保存点名称。 在存储过程中,不带事务名称和保存点名称的 ROLLBACK TRANSACTION 语句将所有语句回滚到最远的 BEGIN TRANSACTION。 10.2.3 事务控制语句 4、设置保存点 1)格式 SAVE TRANSACTION {保存点|@保存点变量} 2)功能 在事务内设置保存点。保存点定义事务可以返回的位置。 当事务开始时,将一直控制事务中所使用的资源直到事务完成(也就是锁定)。当将事务的一部分回滚到保存点时,将继续控制资源直到事务完成(或者回滚全部事务)。 10.2.3 事务控制语句 1.显式事务 显式事务可以由用户在其中定义事务的启动和结束。事务以BEGIN TRANSACTION语句开始,以COMMIT(提交)语句或ROLLBACK(回退或撤消)语句结束。 2.隐式事务 隐式事务是指在当前事务提交或回滚后,自动启

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档