这篇文章主要为大家展示了“Oracle系列中事务有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle系列中事务有什么用”这篇文章吧。
成都创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为网站设计、成都网站建设,重庆App定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!回顾什么是事务? 一个不可分割的子操作形成一个整体,该整体要么全部执行成功,要么全部执行失败。例如:转帐 回顾为什么要用事务? 如果不用事务的话,为转帐为例,可能出现一个用户钱增加了,另一个用户钱不变 回顾编程中,事务可用于哪一层? 事务放在业务层 回顾jdbc编程中,如何使用事务? connection.setAutoCommit(false); pstmt.executeUpdate(); connection.commit(); connection.rollback(); 回顾hibernate编程中,如何使用事务? transaction.begin(); session.save(new User()); transaction.commit(); transaction.rollback(); 回顾spring编程中,如何使用事务? spring可以分为二种 >编程式事务,藕合 >声明式事务,解藕,提倡 |
Oracle的事务只针对DML操作,即select/insert/update/delete
回顾MySQL的事务开始:start transaction |
Oracle的事务开始:第一条DML操作做为事务开始
Oracle的提交事务
(1)显示提交:commit
(2)隐藏提交:DDL/DCL/exit(sqlplus工具)
注意:提交是的从事务开始到事务提交中间的内容,提交到ORCL数据库中的DBF二进制文件
Oracle的回滚事务
(1)显示回滚:rollback
(2)隐藏回滚:关闭窗口(sqlplus工具),死机,掉电
注意:回滚到事务开始的地方
回顾什么是回滚点?
在操作之间设置的一个标志位,用于将来回滚之用
回顾为什么要设置回滚点?savepoint a;rollback to savepoint a;
如果没有设置回滚点的话,Oracle必须回滚到事务开始的地方,其间做的一个正确的操作也将撤销
使用savepoint 回滚点,设置回滚点a
savepoint a;使用rollback to savepoint,回滚到回滚点a处
rollback to savepoint a;Oracle提交或回滚后,原来设置的回滚点还有效吗?
原回滚点无效了
Oracle之所以能回滚的原因是?
主要机制是实例池
回顾MySQL支持的四种事务隔离级别及能够解决的问题
(1)read uncommitted -- 不能解决任何缺点
(2)read committed -- 脏读,Oracle默认
(3)reapatable read -- 不可重复读,脏读,MySQL默认
(4)serializable -- 幻读,不可重复读,脏读,效率低
注意:jdbc/dbutils速度快,但书写烦
mybaits速度中等,但书写"中等"
hibernate速度慢,但书写"爽"
Oracle支持的二种事务隔离级别及能够解决的问题
Oracle支持:read committed 和 serializable
Oracle中设置事务隔离级别为serializable
set transaction isolation level serializable;演示二个用户同时操作emp表,删除KING这条记录,会有什么后果?
因为有隔离级别的存在,所以不会出现二个用户都删除了KING这条记录,
一定是一个用户删除KING成功,在该用户没有提交的情况下,另一个用户等待
以上是“Oracle系列中事务有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。