oracle学习9

一、事务

 

从一种状态到另一种状态:

比如转账:一个人的钱多了或者少了

1.COMMIT 

2.ROLLBACK 

3.SAVEPOINT 

 


SELECT * from ms_brda1
(1)select count(*) from ms_brda1

(2)delete from ms_brda1 where brid=158475
select count(*) from ms_brda1

(3)savepoint a;
select count(*) from ms_brda1

(4)delete from ms_brda1 where brid=158477
select count(*) from ms_brda1
(5)savepoint b;

(6)rollback to savepoint a;

(7)rollback to savepoint b; 

(8)rollback ;

(1)

 

(2)

(3)savepoint a;

(4)

(5)savepoint b;

(6)rollback to savepoint a;

 

(7)rollback to savepoint b; 

上面的情况是因为没分清楚先后顺序

先设置的“保存点A”,然后设置的“保存点B”

你已经回滚到A了,已经越过B了,再想回到B是不可以的

但是可以先回到B再回到A,

(8)rollback ;

而rollback是回到最初的状态

这样是因为deleted与select需要手动commit

所以可以rollback到最初的状态

 

posted @ 2017-08-01 10:25  托马斯骨头收集  阅读(145)  评论(0编辑  收藏  举报