Truncate deletes all your data (w/o using rollback/undo) retaining the definition of the table (and the storage it used, if desired). Dropping the table deletes the data (w/o using rollback/undo) and removes the definition from the data dictionary and de-allocates the storage that was assigned to the table.
Which one you want to use depends on what you are trying to accomplish. If you are reusing the table, truncate clears the table and the REUSE STORAGE clause retains the storage assigned to the table and it runs faster than a drop table.
If it is a one-time use table, drop the table. If you are going to reuse the table truncate is faster and you don't have to recreate the table everytime. Depending on your application, you may want to look at global temporary tables to do this same thing. They get cleaned up when your session ends automatically.
Last Wiki Answer Submitted: April 14, 2008 2:23 pm by Dwaltr900 pts.