Difference in Temporary Table and Table Variable in Sql Server
Difference in Temporary Table and Table Variable in Sql:
Temporary tables in sql server :
Temporary tables can be used in Stored Procedures, Triggers
and Batches but not in user defined functions. Local temporary tables are
temporary tables that are available only to the session that created them.
Global temporary tables are temporary tables that are available to all sessions
and all the users. Local temporary tables are automatically destroyed at the
end of the procedure or session that created them. Global temporary tables are
dropped automatically when the last session using the temporary table has
completed.
We can also drop temporary tables explicitly using drop command
similar to normal table. Temporary table name can be of maximum 116 characters PRIMARY
KEY, UNIQUE, NULL, CHECK etc can be implemented at the time of creating
temporary tables using CREATE TABLE statement or can be added after the table
has been created. FOREIGN KEY not allowed.
Temporary table supports adding Indexes explicitly even
after creation and it can also have the implicit Indexes which are the result
of Primary and Unique Key constraint. We can’t return a temporary table from a
user-defined function.
Table variables in sql server:
Table variables can be used in user defined functions,
stored procedures, and batches. Its scope is in the stored procedure, user
defined function or batch where it is declared like any local variable we
create with a DECLARE statement.
Table variables are automatically cleaned up
at the end of the user defined function, stored procedure, or batch in which
they are defined. Table variable name can be of maximum 128 characters. PRIMARY
KEY, UNIQUE, DEFAULT values, NULL, CHECK can be added, but they must be incorporated
with the creation of the table in the DECLARE statement. FOREIGN KEY not
allowed.
Table Variables doesn’t allow the explicit addition of Indexes after
it is declared, the only means is the implicit indexes which are created as a
result of the Primary Key or Unique Key constraint defined at the time of
declaring Table Variable. We can return a table variable from a user-defined
function
Comments
Post a Comment