Can you tell me the difference between DELETE & TRUNCATE
commands?
Answers were Sorted based on User's Feedback
Answer / guest
Delete command removes the rows from a table based on the
condition that we provide with a WHERE clause. Truncate will
actually remove all the rows from a table and there will be
no data in the table after we run the truncate command.
Is This Answer Correct ? | 39 Yes | 6 No |
Answer / sachin patil
Truncate is DDL Command while Delete is DML Command
Is This Answer Correct ? | 26 Yes | 2 No |
Answer / kmbkrishnan
Delete Command require Log file updation for each row of
deleting process. But the Truncate command not.
So, the Truncate Command is so faster than Delete Command.
Is This Answer Correct ? | 28 Yes | 5 No |
Answer / gk singh
truncate provide faster processing than delete because of
truncate does'n require transaction log uddation
Is This Answer Correct ? | 22 Yes | 2 No |
Answer / vijay dev arya
Delete command removes the rows from a table based on the
condition that we provide with a WHERE clause. Truncate will
actually remove all the rows from a table and there will be
no data in the table after we run the truncate command.
Is This Answer Correct ? | 9 Yes | 1 No |
Answer / rahul goel
There are many differences. Some of these are as follows:
1. Delete can be rollback but Turncate can not be rollback.
2. Delete is a DML command and Turncate is a DDL command.
3. Delete command is used for deleting one or more row from
the table whereas Turncate command is used for deleting all
rows from the table.
4. Turncate is fact as compared to delete command.
5. we can use where clause with Delete but where is not
possible with Turncate.
Is This Answer Correct ? | 8 Yes | 2 No |
Answer / kumar
Truncate will fail if the concerned table has foreign key
constraints while delete doesnt.
Is This Answer Correct ? | 15 Yes | 10 No |
Answer / mohsin mohammed abdul
Delete command deletes the data from the tables .. but can
get back on issue of roll back whereas when you issue
truncate deletes the records and oracle implicitly issues
commit command and even when you issue rollback you won't
get the data back
Is This Answer Correct ? | 10 Yes | 6 No |
Answer / afzal_aziz
Truncate:
- deallocates the data pages in a table and only this
deallocation is stored in transaction log
- aquires only table and page locks for the whole table.
since no row locks are used less memory is required (lock
is a pure memory object)
- resets identity column if there is one
- removes ALL pages. NO empty pages are left behind in a
table
- fast(er)
- doesn't fire delete triggers
Delete:
- removes one row at the time and every deleted row is
stored in the transaction log
- aquires table and/or page and row locks for the whole
table
- leaves identity column alone
- can leave empty pages in a table since empty page
removal requires a table lock which doesn't necessarily
happen
- slow(er)
- fires delete triggers
http://weblogs.sqlteam.com/mladenp/archive/2007/10/03/SQL-
Server-Why-is-TRUNCATE-TABLE-a-DDL-and-not.aspx
Is This Answer Correct ? | 8 Yes | 6 No |
Answer / anil
Delete Commands:
it is dml statement
you can specify delete command with critery (where
condition)
syntax: Delete * from tablename where condition
Truncate Command:
it is DDL statement
you can not specify critery with truncate table
syntax: truncate table tablename
Is This Answer Correct ? | 2 Yes | 1 No |
Can we use custom code in ssrs?
what is denormalization? : Sql server database administration
How to perform backup for certificates in sql server? : sql server security
can any one say how to update the following senario I have a table <srabank> in which the table structure is as follows ANAME ACCNO LOCATION ACCTYPE BAL SBanuPrakash 31518746291 Punganur deposit 4000 Sreenivas 31518746292 mahoobnagar current 14000 Ranjith 31518746293 Karimnagar Savings 2000 Giresh 31518746294 Chennai deposit 40000 Boo 31518746295 Chennai Savings 20000 Jay 31518746296 Valachari Savings 1000 tirumalraj 31518746297 Vellore Savings 8000 The senario is We need to select one account number and check the balance after checking the balance if the balance exist we need to transfer to another account . in the from account the amount need to be reduced and in the to account the amount needed to be added. for example for the <accountno> <31518746291> the balance is <4000> for the <accno> <31518746292> the balance is <14000> after transferring the balance the details will look as follows <accno><31518746291> <bal> <2000> <accno><31518746292> <bal> <16000> the above mentioned two statment will come under the final result.
How get current date in SQL server 2000
4 Answers Cap Gemini, Polaris,
Mention the differences between having and where clause.
How to concatenate two character strings together?
What are different types of table joins?
Where sql server usernames and passwords are stored in a sql server?
Define candidate key, alternate key, and composite key.
How do I debug a stored procedure in sql server?
How to view existing indexes on an given table using sys.indexes?