一. 事务处理
事务处理:
二.Oracle中事务操作命令
三. 关于‘SESSION’
所有的命令,每个 SESSION 全都具备,为了更好的观察出事务的特点。下面会使用多个 sqlplus 窗口进行功能的展示。
1. sqlplus /nolog
1.1. myemp一共存在12条数据
1.2. 第一个session,执行下数据的删除操作
删除超过 32年雇佣的雇员,之后查看所剩数据:
2. 打开第二个 session ,执行查询操作
第二session,发现数据还在。第一个session,还是 原先删除之后所剩的数据。引出 更新缓冲
四. 更新缓冲
在第一个 session 之中所执行的更新操作并没有真正发出。因为万一出现错误,要留一个挽回的余地。所以其他 session 使用的的时候,数据都是原始数据。
1. 如果觉得删除有错误,那么在第一个 session 中使用 rollback
2. 如果现在删除,并提交了事务?
DELETE FROM myemp WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/12>32;
COMMIT;
#事务提交了,那么就表示 真正的发出了更新指令。
2.1 查询 第二个 session 的全部数据
#只有在 COMMIT 之后,更新才会真正发出。但是这个若在没COMMIT前,执行了 ROLLBACK 回滚操作,那么回到原点。所以为了操作方便提供了 存储点(SAVEPOINT)
五. 存储点
六. 事务自动提交
在默认情况下,所有的事务都不属于 自动提交,必须由用户自己手工设置
SET AUTOCOMMIT [ON|OFF]