Try it here
Truncate and Delete

Difference between Oracle Truncate and Delete


Following are the some main differences between oracle TRUNCATE and DELETE statements.

  1. TRUNCATE is a DDL command whereas DELETE is a DML command.
  2. TRUNCATE is much faster than DELETE.

    Note -REASON : When you type DELETE, all the data get copied into the Rollback Tablespace first, then delete operation get performed. That's why when you type ROLLBACK after deleting from a table, you can get back the data(the system get it for you from the ROLLBACK Tablespace). All this process takes time. But when you type TRUNCATE, it removes data directly without copying it into the Rollback Tablespace. That's why TRUNCATE is faster. Once you TRUNCATE, you cannot get back the data.

  3. You cannot rollback in TRUNCATE but in DELETE you can rollback. TRUNCATE removes the record permanently.
  4. In case of TRUNCATE, trigger doesn't get fired, but in DML commands like DELETE, trigger get fired.
  5. You cannot use conditions(WHERE clause) in TRUNCATE, but in DELETE you can write conditions using WHERE clause.

Writer profile pic

Devbarma on Nov 09, 2015 at 12:05 am

This article is contributed by Devbarma. If you like and would like to contribute, you can write your article here or mail your article to . See your article appearing on the main page and help others to learn.

Post Comment

Comments( 0)


Forgot Password

Please enter your email address below and we will send you information to change your password.