Databases Reference
In-Depth Information
ten durch die Fremdschlüsselbeziehungen sehr aufwändig und
potenziell fehlerträchtig.
Aus diesem Grund wird im SQL-Standard die Möglichkeit zur
Transaktionssteuerung
spezifiziert. Dabei ist eine Transaktion ei-
ne Menge von SQL-Befehlen zur Veränderung von Tabellenin-
halten, die ein Nutzer zusammen durchführen und die er vor
einer endgültigen Ausführung abbrechen können möchte.
Zu beachten ist, dass sich die Transaktionssteuerung auf Ver-
änderungen existierender Tabellen bezieht, Befehle zum Erzeu-
gen und Löschen von Tabellen sind explizit ausgeschlossen.
Zur Transaktionssteuerung stehen dem Nutzer grundsätzlich
folgende Befehle zur Verfügung:
Transaktion
Transaktions-
steuerung nur
für Tabellenän-
derungen
BEGIN TRANSACTION
: Mit diesem Befehl wird eine Transak-
tion gestartet. Häufiger wird auf die Angabe des Befehls
explizit verzichtet, da man beim Start des Systems und
durch ein
COMMIT
oder
ROLLBACK
automatisch eine neue
Transaktion beginnt.
COMMIT
: Die vorher eingegebenen Befehle zur Veränderung
von Tabellen sollen endgültig in die Datenbank über-
nommen werden. Die Transaktion wird damit abge-
schlossen.
ROLLBACK
: Die Änderungen an den Tabellen, die seit dem En-
de der letzten Transaktion durchgeführt wurden, sollen
verworfen werden. Es sollen keine Änderungen in der ei-
gentlichen Datenbank stattfinden.
SAVEPOINT
: Mit diesem Befehl kann in der laufenden Transak-
tion ein Sicherungspunkt gesetzt werden. Mit dem nächs-
ten
ROLLBACK
-Befehl wird dann zu der Situation zurück
gesprungen, die zum Zeitpunkt des
SAVEPOINT
-Befehls
vorlag. Mit einem weiteren
ROLLBACK
würde dann die
gesamte Transaktion verworfen.
In verschiedenen Datenbank-Managementsystemen gibt es die
Möglichkeit, statt eines
SAVEPOINT
s mehrere durch den Befehl
SAVEPOINT
<name> anzulegen und dann mit
ROLLBACK TO
SAVEPOINT
<name> zu diesem Sicherungspunkt zu springen.
Interessant ist die Aussage, dass mit
COMMIT
versucht wird, die
Änderungen endgültig in die Datenbank zu übernehmen. Die-
COMMIT ga-
rantiert keine
Ausführung
224