File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Oracle/OAS and the fly likes Delete Vs Truncate Vs Drop Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Products » Oracle/OAS
Bookmark "Delete Vs Truncate Vs Drop" Watch "Delete Vs Truncate Vs Drop" New topic

Delete Vs Truncate Vs Drop

priyanaka jaiswal
Ranch Hand

Joined: Jun 03, 2011
Posts: 79

Difference between Delete,Truncate and Drop is

Delete is DML only removes the data from table and can use WHERE Clause with it and it can be rolled back.
Truncate is DDL statement .This command delete data from the table .but leaves table structure for future use.It cannot be rolled back
Drop is DDL statement .It removes the table from data dictionary and as well drop the storage held by this table.It cannot be rolled back...

am i correct or missing something ,then please correct me...

Thanks in advance
Martin Vajsar

Joined: Aug 22, 2010
Posts: 3733

It's roughly correct.

TRUNCATE can be used on a single partition too (if you have a partitioned table). And since it is a DDL operation, it doesn't need to generate any undo, which makes it a very fast operation even for tables containing millions of rows.

Since Oracle 10, it is possible to undo a DROP TABLE statement (not TRUNCATE though). If you're interested, see Oracle Flashback Technology.
priyanaka jaiswal
Ranch Hand

Joined: Jun 03, 2011
Posts: 79
Thank you Martin
I agree. Here's the link:
subject: Delete Vs Truncate Vs Drop
It's not a secret anymore!