首页 / ORACLE / Oracle数据库事务讲解
Oracle数据库事务讲解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle数据库事务讲解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2470字,纯文字阅读大概需要4分钟。
内容图文
(1)数据库事务解释
事务: 在数据库中事务是工作的逻辑单元,一个事务由一个或多个完成相关行为的SQL语句组成,通过事务机制保证这一组SQL语句所做的操作要么全部执行执行成功,要不全部不执行。
(2)事务的ACID特性
- 原子性(Atomicity):事务的原子性是指事务中的所有SQL语句是一个整体,SQL语句所做的操作要么全部执行成功,要不全部不执行,保证数据的一致性
- 一致性(Consistency);数据库的数据在事务处理前和事务处理后,其中数据必须满足业务的规则约束
- 隔离性(Isolation):数据库允许多个并发的事务对其中的数据进行读写或修改的能力,隔离性可以防止多个事务并发执行时,由于它们的操作命令交叉执行而导致数据不一致
- 持久性(Durability):事务一旦成功提交,对数据库的修改就是永久性的。
(3)事务的作用:用于保证数据库数据的一致性
(4)事务分类
1)显式事务:
1-1)显式提交:commit
以成功的方式结束事务,组成事务的DML语句全部生效
1-2)显式回滚:rollback
以失败的方式结束事务,组成事务的DML语句全部取消
1-3)保存点:savepoint
2)隐式事务:
2-1)隐式提交:当下列任意一种情况发生时,会发生隐式提交
2-1-1)执行一个DDL(create,alter,drop,truncate,rename)语句;
2-1-2)执行一个DCL(grant,revoke)语句;
2-1-3)从SQL Plus正常退出(使用exit或quit命令退出)
2-2)隐式回滚:当下列任意一种情况发生时,会发生隐式回滚
2-2-1)从SQL Plus中强制退出
2-2-2)客户端连接到服务器端异常中断
2-2-3)系统崩溃
(5)事务的开始和结束:
事务开始:
事务自动开启于上一个事务结束后第一个执行的DML语句
事务结束:
显式结束:事务在遇到commit或者rollback时结束
隐式结束:执行隐式事务时会自动结束事务
(6)设置保存点:
如果在一个事物内,想要回滚到指定的位置,不是回滚到事务的起始点,可以通过保存点实现
savepoint sp:--定义一个保存点语句
rollback to sp:--回滚到指定保存点
以上两条语句不结束事务的执行。
(7)事务隔离级别
针对读取数据时可能产生的不一致现象,SQL92标准定义了4个事务的隔离级别
- Read uncommitted(读未提交),可能会导致脏读、不可重复读和幻读,是语句级别的隔离
- Read committed(读提交),不会脏读,可能会不可重复读和幻读,是语句级别的隔离
- Repeatable read(可重复读),不会脏读和不可重复读,可能会幻读,是事务级别的隔离
- Serializable(串行读),不会脏读、不可重复读和幻读,是事务级别的隔离
Oracle默认的隔离级别是read committed。
Oracle支持上述四种隔离级别中的两种:read committed 和serializable。除此之外,Oralce中还定义Read only和Read write隔离级别。
Read only:事务中不能有任何修改数据库中数据的操作语句,是Serializable的一个子集。
Read write:它是默认设置,该选项表示在事务中可以有访问语句、修改语句,但不经常使用。
内容总结
以上是互联网集市为您收集整理的Oracle数据库事务讲解全部内容,希望文章能够帮你解决Oracle数据库事务讲解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。