How do I drop table variables in SQL-Server? Should I even do this?

jtpereyda picture jtpereyda · Apr 13, 2011 · Viewed 131.2k times · Source

I have a table variable in a script (not a stored procedure). Two questions:

  1. How do I drop the table variable? Drop Table @varName gives an "Incorrect snytax" error.
  2. Should I always do this? I hear it's a good practice. Is it ever really necessary for small scripts like this?

Here's my code:

Declare @projectList table(
    name varchar(40) NOT NULL);

Insert Into @projectList
Values ('BCR-00021')

Select *
From @projectList

Drop Table @projectList -- does not work

Answer

Hogan picture Hogan · Apr 13, 2011

Table variables are automatically local and automatically dropped -- you don't have to worry about it.