Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tabelas temporárias - Duração

Pelo que entendi, a tabela do tipo variável só pode ser usada em tempo de execução. Mas por quanto tempo fica disponível uma tabela temporária do tipo ##Várias_Conexoes e a de #Uma_conexao? Existe algum procedimento pra remover elas da memória?

1 resposta
solução!

Olá Bruno,

As tabelas temporárias (sejam elas # ou ##), persistem durante o tempo de vida da conexão que as criou. A diferença entre ##Várias_Conexoes e #Uma_conexao é o escopo delas. Quando criada com duas cerquilhas (##), ela é uma temporária global e sendo assim, pode ser referenciada por outras conexões, desde que a conexão (SPID ou session_id) em que foi criada ainda exista. Pode fazer o teste abrindo uma janela de consulta no SQL Server Management Studio (SSMS) criando uma tabela temporária global, pode ser a sua ##Varias_Conexoes. Então abra uma nova conexão e execute qualquer operação nesta tabela, você verá que será bem sucedido. O mesmo não ocorrerá caso você crie a #Uma_conexao.

Com relação à sua pergunta de removê-las da memória, quando o processo criador da tabela temporária for encerrado, o espaço utilizado por ela no tempdb é liberado (eventualmente pode ser mantido parte da estrutura em cache para eventual reuso, mas é insignificante em termos de espaço consumido).

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software