Qual è il modo migliore per determinare se esiste una tabella temporanea in SQL Server?

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

  •  08-06-2019
  •  | 
  •  

Domanda

Quando scrivo uno script T-SQL che intendo rieseguire, spesso utilizzo tabelle temporanee per archiviare dati temporanei.Poiché la tabella temporanea viene creata al volo, mi piacerebbe poter eliminare quella tabella solo se esiste (prima di crearla).

Pubblicherò il metodo che utilizzo, ma mi piacerebbe vedere se esiste un modo migliore.

È stato utile?

Soluzione

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

Altri suggerimenti

La funzione OBJECT_ID restituisce l'ID dell'oggetto interno per il nome e il tipo di oggetto specificati.'tempdb..#t1' si riferisce alla tabella #t1 nel database tempdb.'U' è per la tabella definita dall'utente.

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'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top