博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle中的事务
阅读量:4594 次
发布时间:2019-06-09

本文共 1015 字,大约阅读时间需要 3 分钟。

 事务

概述:通过sql 对数据库进行操作时,同时执行成功或失败,且数据完整性一致。

链接到oracle的用户(例如plsql或sqlplus)会形成一个session, 此时对数据库的更新操作,不会立即修改数据,不提交的情况下,可以进行回滚操作。 

 

rollback  回滚事务(数据被提交将无法回滚)

commit  提交事务

 

 例如:rollback  

----查询结果是王五

> select * from table where    name='王五'; 

-----王五更新成李四

> update  table  set  name='李四'  where  name='王五';

----再次查询王五,查不到数据;-查询李四可以查询到数据

> select * from table where    name in ('王五', '李四');

 

---此时进rollback操作,回滚数据

  > rollback;

---查询王五可以查到结果,查询李四查不到数据

>  select * from table where    name in ('王五', '李四');

 

 例如:commit  

----查询结果是王五

> select * from table where    name='王五'; 

-----王五更新成李四

> update  table  set  name='李四'  where  name='王五';

----再次查询王五,查不到数据;-查询李四可以查询到数据

> select * from table where    name in ('王五', '李四');

---此时进commit操作,回滚数据

  > commit;

---查询王五可以查不到结果,查询李四查到数据

>  select * from table where    name in ('王五', '李四');

---进行回滚

> rollback;

---在查询数据,发现查询结果还是李四,说明已经提交数据修改,无法回滚

>  select * from table where    name in ('王五', '李四');

 

死锁

 多用户同时修改一条数据,且最先修改数据的那个用户的session未提交数据,则其他用户的session无法修改这条数据,一直处于等待对方commit后

 

转载于:https://www.cnblogs.com/topzhangRX/p/10177127.html

你可能感兴趣的文章
一些使用Android设备调试功能的注意事项(挖职位)
查看>>
Python发一个GET请求
查看>>
花指令
查看>>
101. Symmetric Tree
查看>>
layoutSubviews总结
查看>>
字节流(笔记)
查看>>
【NOIP2013】提高组
查看>>
E - A Trivial Problem(求满足x!的尾数恰好有m个0的所有x)
查看>>
2015 Multi-University Training Contest 7 hdu 5372 Segment Game
查看>>
POJ 2356 Find a multiple
查看>>
iptables详解
查看>>
HRBUST 1376 能量项链
查看>>
Thread类的使用
查看>>
Unity-NGUI UILabel换行
查看>>
L1-027 出租
查看>>
刷题总结——蚯蚓(NOIP2016DAY2T2)
查看>>
idea @Override is not allowed when implementing interface method
查看>>
javaScript常用知识点有哪些
查看>>
OpenCV调用摄像头 , 人脸检测demo
查看>>
大数据的本质
查看>>