Array
(
)

Erro ao excluir tabela temporária

Ricardo Albano
|
MVP
    02 set 2011

Olá,

tenho uma procedure que esta apresentando a seguinte mensagem:

Server: Msg 3701, Level 11, State 5, Procedure ProcTeste, Line 36
Cannot drop the table '#TESTE', because it does not exist in the system catalog.

Stored Procedure: Diversos.dbo.ProcTeste
Return Code = 0

Estranho, pois tenho o seguinte comando na procedure:
IF EXISTS(Select name From TempDB..SysObjects where name LIKE '#TESTE')
DROP TABLE #TESTE

create table #teste(valores varchar(8000))

Marco Pinheiro
   - 02 set 2011

Ricardo,

Vi que você está criando uma tabela temporária local. A sua procedure está sendo rodada na mesma sessão que a criou? Se estiver rodando em outra sessão realmente a mensagem que vc postou vai aparecer.

Outro ponto a ser avaliado é o banco. Vc está conectado no banco certo com o owner correto?

Att.,

Bretas
   - 18 out 2011

Ricardo, o SQL Server te da a possibilidade de criar uma variável do tipo tabela.

Por exemplo:
#Código

declare @TabelaTemp table (Campo TIPO NOT NULL)


Quando preciso de uma tabela temporária prefiro declarar como variável pois quando saí da procedure, o próprio gerenciador some com ela... rs!

Att.