In SQL Server, what is the difference between a @ table, a # table and a ## table?
# and ## tables are actual tables represented in the temp database. These tables can have indexes and statistics, and can be accessed across sprocs in a session (in the case of a global temp table, it is available across sessions).
The @table is a table variable.
For more: http://www.sqlteam.com/article/temporary-tables