数据库学习之事务控制

事务概述:

1、事务是数据库并发控制恢复技术的基本单位;

2、事务具有四个特性,分别是:原子性,一致性,隔离性,持久性;

3、事务是一些数据库操作的集合,由一组相关的SQL语句组成;

Oracle事务的隔离级别:

Oracle数据库为事务提供了两个级别的隔离。

1、read commited:

(1)每个事务所执行的查询操作只能获取在该查询开始之前(不是该事务开始之前)已经提交的数据。

(2)可以防止丢失修改和脏读的问题,但是不能防止不可重复读的问题。

(3)若数据被加锁则等待其他事务解锁;

2、serializable:

(1)每个事务只能看到在该事务开始之前已经提交的数据;

(2)可以防止丢失修改,脏读和不可重复读的问题;

(3)若数据被加锁,则不等待,返回错误;

3、read-only:

(1)每个事务只能够看到在该事务开始之前已经提交的数据,而且不能够对该事务中的数据进行增删改操作;

具体怎么修改事务的隔离级别,可以在参考手册上查询;

Oracle事务处理:

在Oracle数据库中,事务提交有两种方式:

一种方式是用户执行commit命令;

另一种方式是执行特定操作时系统自动提交:

当执行create,alter,drop,rename,revoke,grant,connect,disconnect等命令时,系统将自动提交。

事务回滚:

如果只想取消事务中的部分操作,而不是取消全部操作,则可以在事务内部设置保存点,将一个大的事务划分为若干个组成部分,这样就可以将事务回滚到指定的保存点。

可以使用savepoint语句设置保存点

时间: 2024-12-17 03:52:05

数据库学习之事务控制的相关文章

PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)

1.和mysql扩展库的区别: (1   安全性.稳定性更高 (2  提供了面向对象和面向过程两种风格 2.php.ini  中的  extension=php_mysqli.dll 解除封印 3.面向对象:查询列表 1 <?php 2 3 //mysqli 操作数据(面向对象风格) 4 5 #1.创建Mysql对象 6 7 $mysqli=new MySQLi("127.0.0.1","root","daomul","test&

springmvc 事务控制与数据库隔离级别

springmvc 事物传播与数据库隔离控制 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html 一.Propagation (事务的传播属性) Propagation : key属性确定代理应该给哪个方法增加事务行为.这样的属性最重要的部份是传播行为.有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择.PROPAGATION_SUPPORTS

数据库并发事务控制四:postgresql数据库的锁机制二:表锁

在博文<数据库并发事务控制四:postgresql数据库的锁机制 > http://blog.csdn.net/beiigang/article/details/43302947 中后面提到: 常规锁机制可以参考pg的官方手册,章节和内容见下面 13.3. Explicit Locking http://www.postgresql.org/docs/9.4/static/explicit-locking.html 这节分为:表锁.行锁.页锁.死锁.Advisory锁(这个名字怎么翻译好???

数据库事务控制

事务(Transaction)是用来设置将连续多个的程序操作必须全部执行成功,否则必须立即答复到未执行任何程序操作的状态 事务的四大属性 事务中共有四个属性,这四个属性就称为ACID.ACID指的是:不可部分完成性(Atomicity)一致性(Consistency)隔离性(Isolation)与耐久性(Durability)等四种属性 首先建立一个演示数据库 --建库 IF EXISTS (SELECT name FROM sys.databases WHERE name = N'TransT

数据库 之 事务控制和隔离级别

1  概述 事务是指一组原子性的SQL查询.或者是一个或多个SQL语句组成的独立工作单元:MyISAM不流行的原因很大是因为其不支持事务的处理功能. 2  事务日志 事务日志定义属性,有些参数可以运行时修改,写入在配置段里,事务日志相当于是中间的辅助功能,而且很关键. 事务日志表示把操作过程一笔一笔记录下来.如某个线程要对某个行操作,数据库会先保留老版本于事务日志中,对文件的写入,新版本的内容是先写入到日志里,提交前,数据在日志文件中,而不是在数据文件中,提交操作执行后,才将新旧版本的日志清除.

数据库并发事务控制 一:综述

并发控制是DBMS的关键技术 对数据库的操作都是在事务中进行的. 事务是指一组相互依赖的操作行为.事务中的操作是不可分割的工作单元,由一组在业务逻辑上相互依赖的SQL语句组成,有ACID特征. Atomic(原子性):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败. Consistency(一致性):只有合法的数据可以被写入数据库,否则事务应该将其回滚到最初状态. Isolation(隔离性):事务允许多个用户对同一个数据进行并发访问,而不破坏数据的正确性和完

WCF学习--Windows事务系统

最近开始WCF相关知识的学习,虽然实际工作中使用公司自己的一套SOA系统,但微软的一套服务架构还是具有很大的参考意义.除了WCF的一些基础使用,相对比较复杂的内容有分布式的事务和通信的安全等,不过基本都和WS-协议簇相关联.为了引出WCF中的事务处理,今天优先介绍Windows下的事务处理模型,说实话用了很多年的TransactionScope,其实我一直都不知道它到底是如何运作的,回想Java中不管是EJB还是Spring也有和这部分类似的实现.今天通过学习蒋金楠老师的WCF服务框架解析来了解

SQL Server数据库学习总结

经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的 一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识.  数据库基本是由表,关系,操作组成:对于初学者首先要学的:  1.数据库是如何存储数据的  表,约束,触发器  2.数据库是如何操作数据的  insert,update,delete T-sql 函数 存储过程 触发器  3.数据库是如何显示数据的  select SQLSer

数据库学习之--Oracle 架构与MySQL架构对比

数据库学习之--Oracle 架构与MySQL架构对比 一.Oracle .MySQL应用对比 如果要说明三者的区别,首先就要从历史入手. Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision. Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去.开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番. Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A