Transaction Control Language
# Transaction Control Language

Die Transaction Control Language (TCL) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um die durch Datenverarbeitungs-Befehle (DML) formulierten Einfügungen, Bearbeitungen und Löschungen endgültig in die Datenbank zu übernehmen. In der Datenbanksprache SQL sind das in erster Linie die Befehle COMMIT (englisch für „anvertrauen“) zum Bestätigen sowie ROLLBACK (englisch für „zurückholen“) zum Verwerfen aller in der momentan aktiven Transaktion zusammengefassten Änderungen. Erst dann werden Änderungen auch außerhalb der aktuellen Sitzung sichtbar.

COMMIT: Bestätigt die Aktionen innerhalb einer Transaktion und beendet diese (hartes Commit)

ROLLBACK: Verwirft alle Aktionen innerhalb der Transaktion und beendet diese

SAVEPOINT: Wird benutzt um temporär eine Transaktion zu speichern welche man dann zurücksetzen kann zu den Punkt wenn dieser benötigt wird

Ein eigener Befehl für das Starten einer Transaktion ist im SQL-Standard nicht vorgesehen. Demnach wird eine Transaktion implizit durch die meisten anderen vorangegangenen Anweisungen initiiert. Viele Datenbanksysteme bieten dennoch einen Befehl BEGIN TRANSACTION oder START TRANSACTION an.

Die Einordnung der Transaktionsbefehle in eine eigene Kategorie ist nicht standardisiert und wird nur von einigen Autoren und Herstellern verwendet, beispielsweise von Oracle. Weitaus häufiger werden die Transaktionsbefehle der Data Manipulation Language (DML) zugeordnet, seltener auch der Data Control Language (DCL).

