What is the difference between temp table and table variable?
Answer Posted / balasubramaiam s( ramco system
Table variables are Transaction neutral. They are variables
and thus aren't bound to a transaction.
Temp tables behave same as normal tables and are bound by
transactions.
BEGIN TRAN
declare @var table (id int, data varchar(20) )
create table #temp (id int, data varchar(20) )
insert into @var
select 1, 'data 1' union all
select 2, 'data 2' union all
select 3, 'data 3'
insert into #temp
select 1, 'data 1' union all
select 2, 'data 2' union all
select 3, 'data 3'
select * from #temp
select * from @var
ROLLBACK
select * from @var
if object_id('tempdb..#temp') is null
select '#temp does not exist outside the transaction'
We see that the table variable still exists and has all
it's data unlike the temporary table that doesn't exists
when the transaction rollbacked.
| Is This Answer Correct ? | 13 Yes | 0 No |
Post New Answer View All Answers
Can you name some of the dml commands in sql?
How to perform backup for certificates in sql server? : sql server security
What is bit data type? What's the information that can be stored inside a bit column?
Define outer join in sql server joins?
When cursors are useful?
What is primary key, unique key, and foreign key?
Explain database normalization?
What is a fan-out query in SQL Azure?
What is application role in sql server database security? : sql server security
How to generate create procedure script on an existing stored procedure?
application server is slow what may be the problem
Explain how would you store your query in an SSRS report or a Database server?
What are the 3 types of schema?
How would we use distinct statement? What is its use?
How do I edit a stored procedure in sql server?