What is difference between TRUNCATE and DELETE statement
Answer Posted / shireen
TRUNCATE TABLE is functionally identical to DELETE
statement with no WHERE clause: both remove all rows in the
table. But TRUNCATE TABLE is faster and uses fewer system
and transaction log resources than DELETE.
The DELETE statement removes rows one at a time and records
an entry in the transaction log for each deleted row.
TRUNCATE TABLE removes the data by deallocating the data
pages used to store the table's data, and only the page
deallocations are recorded in the transaction log.
TRUNCATE TABLE removes all rows from a table, but the table
structure and its columns, constraints, indexes and so on
remain. The counter used by an identity for new rows is
reset to the seed for the column. If you want to retain the
identity counter, use DELETE instead. If you want to remove
table definition and its data, use the DROP TABLE statement.
You cannot use TRUNCATE TABLE on a table referenced by a
FOREIGN KEY constraint; instead, use DELETE statement
without a WHERE clause. Because TRUNCATE TABLE is not
logged, it cannot activate a trigger.
TRUNCATE TABLE may not be used on tables participating in
an indexed view.
| Is This Answer Correct ? | 3 Yes | 1 No |
Post New Answer View All Answers
How to apply cascading referential integrity in place of triggers?
What do you mean by acid?
What is the difference between delete and truncate statements?
What is bookmark link in ssrs?
What do you think of this implementation? Can this be implemented better?
tell me the disaster recovery plan
What is difference between oltp and olap?
What is advantage data architect?
What is transaction server explicit transaction?
what is a self join? : Sql server database administration
How to return the second 5 rows in ms sql server?
Define tool Manage Statistics in SQL Server 2000 query ?
explain what is a deadlock and what is a live lock? How will you go about resolving deadlocks? : Sql server database administration
What is a print index?
Which sql server table is used to hold the stored procedure script?