天天看點

Oracle删除表的幾種方法

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如需轉載請自行聯系原作者

笑容掩飾愛