Technik einfach und verständlich erklärt.
Sie können nützliches zu einem interessanten Thema berichten? Dann schreiben sie selbst einen Artikel auf Technikpedia!
 
Technik von Profis erklärt
Auf www.technikpedia.de können Sie Informationen zu verschiedenen Themen aus der Technik und Informatik finden. Durch verschiedene Editoren sind die Artikel besonders informativ und aussagekräftig.
Temporäre Tabellen in einer Datenbank
Die Idee einer temporären Tabelle
Wer es noch nicht kennt, dem möchte ich als Tipp temporäre Tabellen einer Datenbank vorstellen. Temporäre Tabellen gibt es für alle gängigen Datenbanksysteme. Ich verwende hier Microsoft SQL.
Temporäre Tabellen kann man zum Beispiel prima gebrauchen, wenn man sich mal eben schnell was merken will. Oder wenn man Daten zum Bearbeiten zwischenspeichern will eignet sich die schnelle und saubere Methode prima. Man braucht nicht erst eine View erzeugen oder per Hand eine Tabelle anlegen. Wie der Name vielleicht vermuten lässt, werden temporäre Tabellen nach Gebrauch, meistens nach Beendigung der Verbindung, gelöscht.
Erzeugung einer temporären Tabelle
Temporäre Tabellen können wie jede andere Tabelle mit dem Befehl CREATE TABLE <tabellenname> definiert und erzeugt werden. Beim Namen muss lediglich eine oder zwei Rauten (# oder ##) vorangestellt werden. Egal mit welcher Datenbank man gerade arbeitet, temporäre Tabellen werden intern in der Systemdatenbank tempdb gespeichert und sind aber überall verfügbar. Über den Speicherort braucht man sich in der Praxis keine Gedanken machen, da das Datenbankmanagementsystem sich automatisch darum kümmert. Nach der Beendigung der Datenbank-Session werden die Tabellen vom Datenbanksystem automatisch gelöscht und die Daten gehen verloren.
Ein echter Vorteil erschließt sich erst mit der Möglichkeit der direkten Erzeugung von temporär gefüllten Tabellen aus einem Select-Befehl. Das sieht dann zum Beispiel so aus:
SELECT * INTO #tempdaten FROM tabelle
So hat man direkt die von einem Select gelieferten Daten in einer temporären Tabelle zwischengespeichert. Man beachte, die Reihenfolge der Schlüsselwörter: erst select, dann into und zum Schluss from (und nicht erst from und dann into, sonst geht’s nicht).
Jetzt kann man nach Belieben die Daten weiterverarbeiten und Speichern.
Temporäre Tabellen in Stored Procedures
Eine wunderbare Verwendungsmöglichkeit ergibt sich bei gespeicherten Prozeduren (stored procedures). So können in einer temporären Tabelle prima die Daten manipuliert und dann automatisch weiterverarbeitet oder in andere Tabellen zurückgespeichert werden.
Sichtbarkeit – Der Unterschied zwischen einem und zwei Rauten (#) im Tabellenname (#tabellenname und ##tabellenname)
Werden bei dem Namen einer temporären Tabelle nur eine Raute (#) angegeben, so ist die Tabelle nur in der eigenen Verbindung sichtbar. Andere Verbindungen können nicht darauf zugreifen.
Bei temporären Tabellen mit zwei vorangestellten Rauten (##) sind diese auch für andere Sessions bzw. Verbindungen verfügbar.
Beide Arten von temporären Tabellen werden mitsamt ihren Inhalten gelöscht, wenn die Verbinung bzw. Session, in der die Tabelle erzeugt wurde, beendet wird.