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]

     

原文地址:https://www.cnblogs.com/zhaochangbo/p/8433794.html