Oracle 事务

1. 数据库事务

1.事务是由完成若干项工作的DML语句组成

2.数据库事务是由以下的部分组成

一个或者多个DML语句
一个DDL语句
一个DLC语句
3.数据库事务的开始结束
以第一个DML语句的执行为开始
以下面的其中之一作为结束

COMMIT或者ROLLBACK语句
DLL或者DCL语句(自动提交)
系统崩溃

2. 保存点

使用SAVEPOINT语句在当前事务中创建保存点

使用ROLLBACK TO SAVEPOINT语句回滚到创建的保存点
在这里插入图片描述

3. 隐式事务处理

自动提交在以下的情况中执行

DDL语句
DCL语句
不使用COMMIT或者ROLLBACK语句提交或者回滚,正常会回滚会话
会话异常结束或者系统异常会导致自动回滚

3.1 提交或回滚前的数据状态

改变前的数据状态是可以恢复的
执行DML操作的用户可以通过SELECT语句查询之前的修正
其他用户不能看到当前用户所做的提交,只能当前用户结束事务才能被看见
DML语句所涉及到的行被锁定,其他用户不能操作

3.2 COMMIT后的数据状态

数据的改变被保存在数据库中
以前的数据被覆盖
所有用户都可以查看结果
受影响的行上的锁被释放,可供其他用户来操作的那些行。
所有的保存点都将被删除

3.3 语句级回滚

单独的DML语句执行失败时,只有该语句被回滚
Oracle服务器自动创建一个隐式的保留点
其他数据改变仍被保留
用户应执行COMMIT或者ROLLBACK语句结束事务

4. 读一致性

读一致性为数据提供一个一致的试图
一个用户对数据的改变不会影响其他用户的改变
对于相同的数据读一致性保证
查询不等待修改
修改不能带查询
修改等待修改
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值