Oracle删除表的几种方法

  1. 云栖社区>
  2. 博客>
  3. 正文

Oracle删除表的几种方法

科技探索者 2017-11-20 16:19:00 浏览510
展开阅读全文

drop table books;的指令会将表放到回收站里,  

用   flashback table "BIN$1Oiy3qm/QJubov1BwBUOgw==$0" 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状态.

本文转自12691034博客51CTO博客,原文链接http://blog.51cto.com/12701034/1931234如需转载请自行联系原作者

笑容掩饰爱

网友评论

登录后评论
0/500
评论
科技探索者
+ 关注