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

Translate

Lors de l'écriture d'un script T-SQL que je prévois de réexécuter, j'utilise souvent des tables temporaires pour stocker des données temporaires. Puisque 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 posterai la méthode que j'utilise, mais j'aimerais voir s'il y a une meilleure façon.

This question and all comments follow the "Attribution Required."

Toutes les réponses

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

La fonction OBJECT_ID renvoie l'ID 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» est pour la 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)
)
La source
Translate
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
La source