为什么要乱用名字?让 SQL Server 为您管理:
SQL Server 中的临时表
从上面的链接:
  If the same routine is executed simultaneously by several processes,
  the Database Engine needs to be able to distinguish between the
  identically-named local temporary tables created by the different
  processes. It does this by adding a numeric string to each local
  temporary table name left-padded by underscore characters. Although
  you specify the short name such as #MyTempTable, what is actually
  stored in TempDB is made up of the table name specified in the CREATE
  TABLE statement and the suffix. Because of this suffix, local
  temporary table names must be 116 characters or less.
  
  If you’re interested in seeing what is going on, you can view the
  tables in TempDB just the same way you would any other table. You can
  even use sp_help work on temporary tables only if you invoke them from
  TempDB.
USE TempDB
go
execute sp_Help #mytemp 
  or you can find them in the system views of TempDB without swithching
  databases.
SELECT name, create_date FROM TempDB.sys.tables WHERE name LIKE '#%'