Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie temporäre SQL Server-Tabellen erstellen und effektiv bearbeiten.
Temporäre Tabellen sind Tabellen, die vorübergehend auf dem SQL Server vorhanden sind.
Die temporären Tabellen sind nützlich, um die unmittelbaren Ergebnismengen zu speichern, auf die mehrmals zugegriffen wird.
Erstellen temporärer Tabellen
SQL Server bot zwei Möglichkeiten, temporäre Tabellen über SELECT INTO
und CREATE TABLE
Anweisungen zu erstellen.,
Erstellen Sie temporäre Tabellen mit SELECT INTO Anweisung
Die erste Möglichkeit, eine temporäre Tabelle zu erstellen, besteht darin, die SELECT INTO
Anweisung wie unten gezeigt zu verwenden:
Code language: SQL (Structured Query Language) (sql)
Der Name der temporären Tabelle beginnt mit einem Hash-Symbol (#
). Die folgende Anweisung erstellt beispielsweise eine temporäre Tabelle mit der Anweisung SELECT INTO
:
In diesem Beispiel haben wir eine temporäre Tabelle mit dem Namen #trek_products
mit zwei Spalten erstellt, die aus der Auswahlliste der Anweisung SELECT
abgeleitet wurden., Die Anweisung erstellte die temporäre Tabelle und füllte Daten aus der Tabelle production.products
in die temporäre Tabelle ein.,
Sobald Sie die Anweisung ausgeführt haben, finden Sie den temporären Tabellennamen, der in der Systemdatenbank mit dem Namen tempdb
erstellt wurde und auf den über das SQL Server Management Studio über den folgenden Pfad zugegriffen werden kann Systemdatenbanken > tempdb > Temporäre Tabellen wie im folgenden Bild gezeigt:
Wie Sie dem Bild deutlich entnehmen können, besteht die temporäre Tabelle auch aus einer Folge von Zahlen als Postfix., Dies ist eine eindeutige Kennung für die temporäre Tabelle. Da mehrere Datenbankverbindungen temporäre Tabellen mit demselben Namen erstellen können, hängt SQL Server diese eindeutige Nummer automatisch am Ende des temporären Tabellennamens an, um zwischen den temporären Tabellen zu unterscheiden.
Erstellen Sie temporäre Tabellen mit CREATE TABLE Anweisung
Die zweite Möglichkeit, eine temporäre Tabelle zu erstellen, besteht darin, die Anweisung CREATE TABLE
zu verwenden:
Code language: SQL (Structured Query Language) (sql)
Diese Anweisung hat die gleiche Syntax wie das Erstellen einer regulären Tabelle.,die temporäre Tabelle beginnt mit einem Hash-Symbol (#
)
Nach dem Erstellen der temporären Tabelle können Sie Daten als reguläre Tabelle in diese Tabelle einfügen:
Natürlich können Sie Daten innerhalb der aktuellen Sitzung abfragen:
Code language: SQL (Structured Query Language) (sql)
Wenn Sie jedoch eine andere Verbindung öffnen und die obige Abfrage ausführen, wird der folgende Fehler angezeigt:
Code language: SQL (Structured Query Language) (sql)
Auf die temporären Tabellen kann nur innerhalb der Sitzung zugegriffen werden, in der sie erstellt wurden.,
Globale temporäre Tabellen
Manchmal möchten Sie möglicherweise eine temporäre Tabelle erstellen, auf die über Verbindungen zugegriffen werden kann. In diesem Fall können Sie Globale temporäre Tabellen.
Im Gegensatz zu einer temporären Tabelle beginnt der Name einer globalen temporären Tabelle mit einem doppelten Hash-Symbol (##
).
Die folgenden Anweisungen erstellen zunächst eine globale temporäre Tabelle mit dem Namen und füllen dann Daten aus der Tabelle production.products
in diese Tabelle ein:
Jetzt können Sie von jeder Sitzung aus auf die Tabelle zugreifen.,
Löschen temporärer Tabellen
Automatisches Entfernen
SQL Server löscht eine temporäre Tabelle automatisch, wenn Sie die Verbindung schließen, die sie erstellt hat.
SQL Server löscht eine globale temporäre Tabelle, sobald die Verbindung, die sie erstellt hat, geschlossen und die Abfragen für diese Tabelle aus anderen Verbindungen abgeschlossen sind.,
Manuelles Löschen
Aus der Verbindung, in der die temporäre Tabelle erstellt wurde, können Sie die temporäre Tabelle manuell entfernen, indem Sie die Anweisung DROP TABLE
verwenden:
Code language: SQL (Structured Query Language) (sql)
In diesem Tutorial haben Sie etwas über temporäre SQL Server-Tabellen gelernt und wie Sie sie effektiv erstellen und entfernen.