Oracle之事务处理

一. 事务处理

事务处理:

 

 

二.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]

     

 

posted @ 2018-06-23 19:07  shadow3  阅读(784)  评论(0)    收藏  举报