- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH9_事务创新
事务 刘国柱 联系方式Liu_guozhu@ 目录 事务概念 事务分类 显式事务 隐式事务 自动事务模式 NO:1 事务概念 事务概念 事务是SQL中的单个逻辑工作单元,一个事务里的所有语句被作为整体执行 遇到错误时,可以回滚事务内的所有改变,从而保证数据库的一致性和可恢复性 一个逻辑工作单元必须具有四种属性,也称为ACID 事务概念-事务的四种属性 原子性(Atomicity):一个事务必须作为工作的原子单位,它所做的数据修改要么全部执行,要么全部取消 一致性(Consistency):当事务完成后,所有数据必须处于一致性状态,即:事务所修改的数据必须遵循数据库中各种约束、规则要求,保持数据的完整性 隔离性(Isolation):一个事务所做的修改必须能够与其他事务所做的修改隔离开来;在并发处理过程中,一个事务所看到的数据状态必须为另一个事务处理前或后的数据 永久性(Durability):事务完成后,它对数据库所做的修改被永久保留下来。事务日志保证事务的永久性 NO:2 事务分类 事务分类 显式事务:由用户执行T-SQL事务语句而定义的事务,又称为用户定义事务 隐式事务:当前事务提交或回滚后,SQL自动开始的事务。使用implicit_transations选项打开隐式事务。 自动事务模式:在自动事务模式下,当一个语句被成功执行后,它被自动提交,而当它执行过程中产生错误时,则被自动回滚。自动事务模式是SQL的默认管理模式 事务分类 -自动模式下批的执行情况 在执行批的过程中,批中的一个语句发生错误,批中的所有语句将不被执行 示例: 备注 事务分类 -事务处理语句 begin ransaction:建立一个显式事务 commit transaction:标识一个隐式或显式事务的结束 rollback transaction:将一个隐式或显式事务回滚到事务开始位置或指定的存储点位置 save transaction:在一个事务内建立一个存储点标记,使rollback transaction语句可使用该标记回滚部分事务操作 事务分类 -注意点 在定义一个事务时,begin transaction语句应与commit transaction或rollback transaction成对出现 事务定义语句可以嵌套,但只有最外层的begin transaction和commit transaction语句才能建立和提交事务;在回滚事务时也只能使用最外层定义的事务名或存储点标记 事务嵌套常用在存储过程或触发器内,应尽量避免事务的嵌套 在事务定义中,不能使用数据库选项设置或系统存储过程修改master数据库 事务分类- (示例) 建立一个用户定义事务及事务的回滚操作和事务中的存储点回滚 示例: 备注 事务分类 - (示例2) 备注中的例子说明隐式事务的处理过程。在打开implicit_transactions连接选项后,自动进入第一个隐式事务。在前一个隐式事务提交或回滚后,SQL自动进入下一个新的隐式事务。 总结 事务概念 事务分类 显式事务 隐式事务 自动事务模式 作业及练习 * * *
文档评论(0)