Oracle删除表的几种方法以及恢复

落爺英雄遲暮 提交于 2019-11-28 00:51:29

drop table books;的指令会将表放到回收站里,  用  
flashback table books to before drop;  就能恢复。   
删除表:  
drop table books purge;是绕过回收站,彻底删除   
建议你先  
purge recyclebin;  
清除当前用户的回收站,不会影响其他用户的回收站  或者  
purge table 表名;  清除回收站内指定的表 正文: 
删除表(记录和结构)的语名delete   ————   truncate      ———— drop 
DELETE (删除数据表里记录的语句)     
DELETE FROM表名 WHERE 条件;     
注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.     
如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间    TRUNCATE TABLE 表名;     此操作不可回退. 
相同点     
truncate和不带where子句的delete, 以及drop都会删除表内的数据     注意:这里说的delete是指不带where子句的delete语句      
不同点:     
1. truncate和 delete只删除数据不删除表的结构(定义)     
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态.   

 

http://www.raxhw.cn

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!