- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11第十一章_事务
第11章事务控制 本章学习目标 事务控制 事务的开始和结束 提交/回滚前数据状态 事务提交后数据状态 事务回滚后数据状态 保存点 事务控制 ?? 事务(Transaction) 组成单个逻辑工作单元的一系列操作被称为事务。 ?? 数据库事务组成 ?? 0~多条DML语句 ?? 1条DDL(Data Define Language)语句 ?? 1条DCL(Data Control Language)语句 注:DCL语句用于控制用户对数据库对象的访问权限,主要包括Grant(授权)、Revoke(撤消)、Deny(拒绝)三种语句。 ?? 事务控制 通过将一组相关操作组合为一个要么全部成功、要么全部失败的逻辑工作单 元,以简化错误恢复、提高应用程序的可靠性。 ?? 事务必须满足的ACID属性: ?? 原子性(Atomicity) ?? 一致性(Consistency) ?? 隔离性(Isolation ) ?? 持久性(Durability ) 事务的开始和结束 ?? 事务开始于第一条可执行语句 ?? 事务结束: ?? 遇到commit 或rollback语句 ?? 遇到DDL 或DCL 语句 ?? 用户会话结束 ?? 系统崩溃 ?? 事务的提交和回滚 ?? 显式的提交和回滚操作是为了更好地保证数据的一致性。 ?? 下述情况下事务会被自动提交 ? 执行一个DDL 语句 ? 执行一个DCL 语句 ? 正常结束会话 ??会话异常终止/系统崩溃时事务会被自动回滚 Sql Plus的自动提交 Sql Plus中执行SQL语句时可以设置是否自动提交,缺省设置为非自动提交。 查看设置: ?? show autocommit; ? autocommit OFF ? autocommit IMMEDIATE 改变设置: ?? set autocommit on; ?? set autocommit off; 提交/回滚前数据状态 ?? 当前事务中数据状态的改变是可以恢复的 ?? 当前事务中的DML操作结果只对当前用户(会话)可见,其它用户(会话)看不到当前事务中数据状态的改变,直到当前事务结束。 ?? 当前事务中DML语句所涉及到的行被锁定,其他用户(会话)不能对其进行修改操作。 事务提交后数据状态 ?? 数据的修改永久生效、不可再撤消 ?? 数据以前的状态永久性丢失、无法恢复 ?? 所有的用户(会话)都将看到操作后的结果 ?? 记录锁被释放,其它用户可对这些进行修改操作 ?? 事务中的保存点( Savepoints )被清除 事务回滚后数据状态 ?? 数据的修改被撤消 ?? 数据恢复到修改前的状态 ?? 记录锁被释放 练习 drop table test; create table test( id number primary key, name varchar2(20), money number(8,2) ); insert into test values(1,tom,10000.00); insert into test values(2,jim,20000.00); select * from test; Commit/rollback 保存点 ?? 通过保存点在当前的事务中创建标记,将来可回退到指定的标记(保存点)处,实现事务的部分回滚。 ?? 用法举例: insert into dept values(55,Adv,Beijing); insert into dept values(56,Sec,Shanghai); savepoint p1; insert into dept values(57,Acc,Tianjin); select * from dept; rollback to p1; select * from dept; 总结 事务控制 事务的开始和结束 提交/回滚前数据状态 事务提交后数据状态 事务回滚后数据状态 保存点
文档评论(0)