Qual é a melhor maneira de determinar se uma tabela temporária existe no SQL Server?

StackOverflow https://stackoverflow.com/questions/2649

  •  08-06-2019
  •  | 
  •  

Pergunta

Ao escrever um script T-SQL que estou pensando em voltar a correr, muitas vezes eu usar tabelas temporárias para armazenar dados temporários.Desde que a tabela temporária é criada no momento, eu gostaria de ser capaz de largar essa tabela somente, se ele existe (antes de criá-lo).

Eu vou postar o método que eu uso, mas eu gostaria de ver se há uma maneira melhor.

Foi útil?

Solução

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END

Outras dicas

A função OBJECT_ID retorna interna identificação do objeto para o objeto dado nome e tipo.'tempdb..#t1' refere-se à tabela #t1 no banco de dados tempdb.'U' é de tabela definida pelo usuário.

IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
  DROP TABLE #t1

CREATE TABLE #t1
(
  id INT IDENTITY(1,1),
  msg VARCHAR(255)
)
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top