 
         
        Transaction Control Language (TCL) ist ein Teil der SQL-Sprache, der verwendet wird, um die Kontrolle über Transaktionen in einer Datenbank zu ermöglichen. Eine Transaktion ist eine logische Einheit von Arbeit, die eine oder mehrere SQL-Anweisungen umfasst – oft Insert-, Update- oder Delete-Befehle –, die zusammen ausgeführt werden sollen.
TCL stellt Befehle bereit, um sicherzustellen, dass Transaktionen korrekt abgeschlossen oder im Fehlerfall rückgängig gemacht werden.
| Befehl | Beschreibung | 
|---|---|
| COMMIT | Speichert alle Änderungen der aktuellen Transaktion dauerhaft in der Datenbank. | 
| ROLLBACK | Macht alle Änderungen seit dem letzten COMMIT rückgängig. | 
| SAVEPOINT | Legt einen Zwischenstand in einer Transaktion fest, zu dem man später zurückkehren kann. | 
| ROLLBACK TO SAVEPOINT | Macht alle Änderungen seit einem bestimmten Savepoint rückgängig. | 
| SET TRANSACTION | Legt Eigenschaften für eine Transaktion fest (z. B. Isolationsgrad). | 
BEGIN;
UPDATE konto SET saldo = saldo - 100 WHERE konto_id = 1;
UPDATE konto SET saldo = saldo + 100 WHERE konto_id = 2;
COMMIT;→ Beide Updates werden gemeinsam abgeschlossen. Wenn ein Fehler auftritt, könnte man ROLLBACK ausführen, um beide Änderungen zu verwerfen.
TCL-Befehle wirken nur bei Datenbank-Systemen, die Transaktionen unterstützen (z. B. PostgreSQL, Oracle, MySQL mit InnoDB).