what is the difference between Delete and Truncate

Answer Posted / soorai ganesh

DELETE is a logged operation on a per row basis. This means that the deletion of each row gets logged and physically deleted.

You can DELETE any row that will not violate a constraint, while leaving the foreign key or any other contraint in place.

TRUNCATE is also a logged operation, but in a different way. TRUNCATE logs the deallocation of the data pages in which the data exists. The deallocation of data pages means that your data rows still actually exist in the data pages, but the extents have been marked as empty for reuse. This is what makes TRUNCATE a faster operation to perform over DELETE.

You cannot TRUNCATE a table that has any foreign key constraints. You will have to remove the contraints, TRUNCATE the table, and reapply the contraints.

TRUNCATE will reset any identity columns to the default seed value. This means if you have a table with an identity column and you have 264 rows with a seed value of 1, your last record will have the value 264 (assuming you started with value 1) in its identity columns. After TRUNCATEing your table, when you insert a new record into the empty table, the identity column will have a value of 1. DELETE will not do this. In the same scenario, if you DELETEd your rows, when inserting a new row into the empty table, the identity column will have a value of 265.

I believe its enough to you...............

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is an identity?

728


How to add more data to the testing table in ms sql server?

737


What does COMMIT command do?

768


Explain stored procedure?

785


When to use Inner join & when to use subquery?

750






How to remove duplicate rows from table except one?

742


Which is the main third-party tool used in sql server?

662


What is policy based management (pbm)? : sql server database administration

738


What is temporal table?

638


What is transaction server explicit transaction?

745


Explain foreign key in sql server?

749


Which data types generate inaccurate results if used with an = or <> comparison in a where clause of a sql statement?

757


What is the fillfactor concept in indexes?

721


What are the commands used in DCL?

709


What is recursion? Is it possible for a stored procedure to call itself or recursive stored procedure? How many levels of sp nesting are possible?

729