Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Temporäre SQL Server-Tabellen speichern Daten vorübergehend. Sie können dieselben Operationen – wie SELECT, INSERT, DELETE und UPDATE – für eine temporäre Tabelle ausführen wie für eine normale SQL-Tabelle.

Temp-Tabellen befinden sich in der tempdb-Datenbank und sind nur während der Dauer der Verbindung sichtbar. Wenn Sie die Verbindung beenden, löscht SQL Server die temporäre Tabelle. Sie können es auch jederzeit explizit löschen.

Arten von temporären SQL Server-Tabellen

Es gibt zwei Typen von temporären SQL Server-Tabellen: lokal und global.

Lokale Temp-Tabelle

Eine lokale temporäre Tabelle ist nur für die Verbindung sichtbar, die sie erstellt hat. Wenn diese Verbindung beendet wird oder der Benutzer die Verbindung trennt SQL Server Beispielsweise wird automatisch eine lokale temporäre Tabelle gelöscht.

Um eine lokale temporäre Tabelle zu erstellen, verwenden Sie mit der CREATE TABLE-Anweisung ein einzelnes Hash-Symbol (#) am Anfang des Tabellennamens. Hier ist die Syntax.

instagram viewer

ERSTELLENTISCH#TempTable (
Spalte1 INT,
Spalte2 VARCHAR(50)
);

Der folgende Code erstellt beispielsweise eine temporäre Tabelle namens TempCustomer mit einem Namens- und E-Mail-Feld.

ERSTELLENTISCH#TempKunde (
ID int NOT NULL PRIMARY KEY
Vollständiger Name VARCHAR(50),
E-Mail VARCHAR(50)
);

Globale Temp-Tabelle

Eine globale temporäre Tabelle ist eine temporäre Tabelle, die für alle Verbindungen und Benutzer sichtbar ist. SQL Server löscht sie, wenn alle Verbindungen und Benutzer, die auf die Tabelle verweisen, getrennt wurden.

Um eine globale temporäre Tabelle zu erstellen, stellen Sie dem Tabellennamen doppelte Hashes (##) voran und verwenden Sie die CREATE TABLE-Anweisung.

ERSTELLENTISCH##TempTable (
Spalte1 INT,
Spalte2 VARCHAR(50)
);

Der folgende Code erstellt eine globale temporäre Tabelle namens TempCustomer.

ERSTELLENTISCH##TempKunde (
ID int NOT NULL PRIMARY KEY
Vollständiger Name VARCHAR(50),
E-Mail VARCHAR(50)
);

Dieser Code ähnelt dem Beispiel für die lokale temporäre Tabelle, nur mit zwei Hash-Symbolen anstelle von einem. Sie können jetzt verwenden Standard-SQL-Befehle um die Daten in der temporären Tabelle hinzuzufügen oder zu bearbeiten.

So löschen Sie eine temporäre Tabelle

Die SQL Server-Instanz löscht automatisch eine temporäre Tabelle, wenn alle Benutzer, die darauf verweisen, die Verbindung getrennt haben. Als bewährte Methode sollten Sie Ihre temporären Tabellen immer explizit löschen, um den tempdb-Speicher freizugeben.

Verwenden Sie zum Löschen einer temporären Tabelle die Anweisung DROP TABLE IF EXISTS, gefolgt vom Namen der temporären Tabelle.

So löschen Sie die Tabelle #TempCustomer:

TROPFENTISCHWENNVORHANDEN#TempKunde

Verwenden Sie denselben Code, aber tauschen Sie den Tabellennamen aus, um eine globale temporäre Tabelle zu löschen.

TROPFENTISCHWENNVORHANDEN##TempKunde

Typische Verwendungen von temporären SQL-Tabellen

Temporäre Tabellen sind nützlich, wenn Sie Zwischenergebnisse komplexer Abfragen speichern müssen, die Sie weiterverarbeiten müssen. Wenn Sie beispielsweise Berichte erstellen, müssen Sie möglicherweise temporäre Tabellen erstellen, um Abfrageergebnisse aus mehreren Datenbanken zu speichern. Anschließend können Sie den endgültigen Bericht generieren, indem Sie eine Abfrage für die temporären Tabellen ausführen.

Ein weiteres Szenario, in dem temporäre Tabellen nützlich sind, ist, wenn Sie die Abfrageergebnisse aus einer Tabelle benötigen, um eine andere Abfrage auszuführen. Sie können die Ergebnisse in einer temporären Tabelle speichern und dann in Ihrer neuen Abfrage darauf verweisen. Im Wesentlichen verwenden Sie die temporäre Tabelle als Arbeits- oder Puffertabelle, um die Daten zu speichern, die Sie zum Ausführen einer bestimmten Aufgabe benötigen.

Verwenden von temporären Tabellen in SQL Server

Sie können temporäre SQL Server-Tabellen verwenden, um Daten vorübergehend zu speichern und zu verarbeiten. Es gibt zwei Arten von temporären Tabellen, lokal und global. Eine lokale temporäre Tabelle ist für die Verbindung sichtbar, in der sie erstellt wurde, während eine globale temporäre Tabelle für alle Verbindungen sichtbar ist.

Temporäre Tabellen werden automatisch zerstört, wenn Sie die Verbindung zur Serverinstanz trennen. Um jedoch Speicherplatz zu sparen, sollten Sie sie nach Gebrauch immer löschen.