Quelle est la meilleure façon de déterminer si une table temporaire existe dans SQL Server ?

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

  •  08-06-2019
  •  | 
  •  

Question

Lorsque j'écris un script T-SQL que je prévois de réexécuter, j'utilise souvent des tables temporaires pour stocker des données temporaires.Étant donné que la table temporaire est créée à la volée, j'aimerais pouvoir supprimer cette table uniquement si elle existe (avant de la créer).

Je publierai la méthode que j'utilise, mais j'aimerais voir s'il existe une meilleure façon.

Était-ce utile?

La solution

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

Autres conseils

La fonction OBJECT_ID renvoie l'identifiant d'objet interne pour le nom et le type d'objet donnés.'tempdb..#t1' fait référence à la table #t1 dans la base de données tempdb.« U » correspond à une table définie par l'utilisateur.

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'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top