Não é possível acessar tabela com o nome iniciando com '@'

Ola pessoal, estou com probleminha e ja faz mais de 1 dia e nao consigo resolver. O problema é o seguinte: estou tentando dar um select em uma tabela onde o nome dela começa com ‘@’. P.ex. @Teste.

O erro é o seguinte : must declare the table variable . E estou fazendo o seguinte no codigo:

"LEFT JOIN " + database.getSchemaName() + " [@UPPCATEGORIA] as T3 ON T1.U_UPPCategoria = T3.Code " +

ja tentei colocar o dbo.[@UPPCATEGORIA], retirar o @ (ai piora, pois não reconhece a tabela), deixar sem ‘[]’. É tudo em vão.

Será que existe alguma forma que eu possa rescrever , ou até mesmo sei lá guardar a refencia da tabela em uma variavel ?

Não existe, no SQL Server, uma tabela com nome que comece por @. Tabelas temporárias começam por “#” ou “##”.

Nomes que começam por @ indicam variáveis, não tabelas. Você pode até ter uma variável do tipo tabela, mas aí você precisa criar uma stored procedure, ou então criar um bloco com DECLARE. Exemplo:

http://www.sqlteam.com/article/temporary-tables