Articles

Drop Temp Table If Exists

  • Veröffentlicht am 3. Juli 2010 von Derek Dieter
  • 10

    hier sind Sie wahrscheinlich auf die Situation gestoßen, in der Sie automatisch eine temporäre Tabelle in Ihrem Skript erstellt haben, und jedes Mal, wenn Sie das Skript ausführen, müssen Sie die temporäre Tabelle manuell löschen. Ja, das kann ein Schmerz sein. Ich habe das schon oft selbst gemacht.

    Also hier ist die einfache Lösung. Wir müssen überprüfen, ob die temporäre Tabelle in der TempDB-Datenbank vorhanden ist, und wenn ja, müssen wir sie löschen.

    WENN OBJECT_ID(N’tempdb..#Temp‘) IST NICHT NULL
    BEGIN
    DROP TABLE #Temp
    END

    Um dies zu replizieren, führen wir den folgenden Befehl mehrmals im selben Fenster aus:

    — (Ersetzen Sie die Produkttabelle unten durch Ihre Tabelle)
    SELECT *
    INTO #Temp
    FROM SalesLT.Produkt

    Wir erhalten die Fehlermeldung:

    In der Datenbank befindet sich bereits ein Objekt mit dem Namen ‚#Temp‘.

    Jetzt fügen wir einfach unseren Codeausschnitt hinzu und können ihn ausführen, ohne ihn manuell löschen zu müssen.

    WENN OBJECT_ID(‘tempdb..#Temp‘) IST NICHT NULL
    BEGIN
    DROP TABLE #Temp
    END

    — (Ersetzen Sie die Produkttabelle unten durch Ihre Tabelle)
    SELECT *
    INTO #Temp
    FROM SalesLT.Produkt

    Abgelegt unter TSQL