Wie überprüft man korrekt, ob eine temporäre Tabelle in SQL Server 2005 vorhanden ist?

Ich habe eine Abfrage, wo ich fügen Sie einige Werte aus einer Tabelle:

SELECT ID, NAME INTO #tmpTable1
FROM TableOriginal

Erste Ausführung ist in Ordnung, wenn ich drücken Sie F5(Run) im MSSMS (Microsoft Sql Server Management Studio), die Fehler ist aufgetreten:

Msg 2714, Ebene 16, Status 6, Zeile 4

Es ist bereits ein Objekt mit dem Namen '#tmpTable1 " in der Datenbank.

Gut. Ich beschloss zu prüfen, bevor Sie Daten einfügen von TableOriginal zu #tmpTable1 mit:

IF OBJECT_ID('tempdb.#tmpTable1') IS NOT NULL  
  DROP TABLE #tmpTable1

Nicht funktioniert, den Fehler zeigt erneut, wie oben beschrieben.

Sah ich in tempdb Datenbank die folgenden temporären Tabelle-name:

dbo.#tmpTable1__________________0000007

Warum? Jedes mal, wenn Sie erstellen eine temporäre Tabelle (unter Verwendung der ersten Abfrage), der name der Tabelle wird automatisch erzeugt, im MSSMS ?

So entfernen Sie die vorhandene temporäre Tabelle um eine neue Tabelle mit den neuen Werten ?

InformationsquelleAutor der Frage Snake Eyes | 2012-08-16

Schreibe einen Kommentar