oracle数据库事务

oracle 数据库事务

1、组成

一个或多个DML语句(数据操纵):insert、update、delete、select…
一个DDL语句(数据定义):create、drop、truncate、alter
一个DCL语句(数据控制)

2、开始和结束

以第一个DML语句的执行作为开始
结束:
* commit提交或rollback回滚
* DDL或DCL语句(自动提交)
* SQL Developer or SQL*Plus用户退出
* 系统崩溃(会话异常结束或者系统异常会导致自动回滚)

3、事务控制语句(commit、rollback、savepoint)

commit和rollback语句的优点:确保数据完整性,数据改变被提交之前预览,将逻辑上相关的操作分组
使用savepoint创建保存点:【savepoint 保存点名】
回滚到保存点:【rollback to 保存点名】

4、提交或回滚前的数据状态

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

5、commit后数据的状态

数据的改变被保存到数据库中覆盖以前的数据并且不可恢复
所有的用户都可以查看结果
受影响的行的锁被释放,可供其他用户操作
所有的保存点都将被删除

6、读一致性

用户查询不受其他用户修改影响
用户修改不受其他用户查询影响
用户修改受其他用户修改的影响,必须进入等待状态
扩展:select * from dept2 for update;查询dept2的所有内容并为所有的返回结果加锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值