Was ist der beste Weg, um festzustellen, ob eine temporäre Tabelle in SQL Server vorhanden ist?

stimmen
18

Wenn ein T-SQL-Skript zu schreiben, die ich plane, auf Wieder laufen, oft verwende ich temporäre Tabellen temporäre Daten zu speichern. Da die temporäre Tabelle on the fly erstellt wird, würde Ich mag diese Tabelle fallen nur in der Lage sein, wenn es vorhanden ist (bevor ich es schaffen).

Ich werde die Methode schreiben, die ich benutze, aber ich würde gerne sehen, ob es einen besseren Weg gibt.

Veröffentlicht am 05/08/2008 um 19:18
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
25

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END
Beantwortet am 05/08/2008 um 19:21
quelle vom benutzer

stimmen
14

Die OBJECT_ID Funktion gibt den internen Objekt-ID für die angegebenen Objektname und Typen. 'Tempdb .. # t1' bezieht sich auf die Tabelle # t1 in der Tempdb-Datenbank. ‚U‘ ist für benutzerdefinierte Tabelle.

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

CREATE TABLE #t1
(
  id INT IDENTITY(1,1),
  msg VARCHAR(255)
)
Beantwortet am 05/08/2008 um 19:21
quelle vom benutzer

stimmen
0
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
Beantwortet am 17/09/2008 um 21:50
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more