首页 > 其他 > 详细

Oralce删除数据

时间:2016-03-21 02:16:45      阅读:153      评论:0      收藏:0      [点我收藏+]

删除数据

delete from student;(速度慢)
删除所有的记录,表结构还在,写日志,可以恢复的

数据(通过delete删除的数据)的恢复


数据的恢复有个前提:在删除数据之前需要设置回滚点
sql>savepoint a;


数据的恢复
sql>rollback to a;//数据回滚即数据回滚到回滚点前

如果直接就是sql>rollback;
就要看用户有没有在删除用户以后进行了commit操作,如果有则恢复不了
如果没有则可以恢复到用户上一次commit操作和rollback操作的数据

为什么会这样?
是因为:如果数据库执行了DML语句(insert select update delete),执行完之后,处理的数据,都会回滚到回滚段中(除了select语句),等待用户进行提交(commit)或者回滚(rollback),当用户执行commit和rollback后,放在回滚段中的数据就会被删除。
可以形象的理解成
commit就是将数据库中的数据提交到回滚段中,会覆盖原先数据
rollback就是将回滚段中的数据回滚到数据库中,不会覆盖数据,回滚段中还是上一个commit提交到回滚段中的数据


drop table student; 删除表的结构和数据

delete from student where xh=‘A001‘;删除一条记录

truncate table student;(速度快)
删除表中所有的记录,表结构还在,不写日志,无法找回删除的记录

Oralce删除数据

原文:http://1124117571.iteye.com/blog/2284837

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!