IT-Lexikon › Datenbanken › Verschachtelte Transaktion

Verschachtelte Transaktion

Datenbanken Svenska → Aktualisiert: 2026-09-12

Transaktion innerhalb einer Transaktion. In SQL standardisiert, aber in RDBMS nur spärlich unterstützt. PostgreSQL/MySQL emulieren über Savepoints. BEGIN innerhalb von BEGIN ist meist No-op oder Fehler.

PostgreSQL: BEGIN; ... BEGIN; ... liefert die Warnung "there is already a transaction in progress" — das innere BEGIN wird ignoriert. SQL Server unterstützt verschachtelte Transaktionen, aber die Commit-Semantik ist verwirrend (der innere Commit bewirkt nichts, nur der äußere Commit wird tatsächlich angewendet). Echte verschachtelte Transaktionssemantik: Ein innerer Abbruch macht nur den inneren Zustand rückgängig. In PostgreSQL über PL/pgSQL sind BEGIN-EXCEPTION-Blöcke effektiv verschachtelte Transaktionen über Savepoints. ORM-Frameworks abstrahieren das: Djangos atomic() lässt sich verschachteln und nutzt intern Savepoints.

← Zurück zum Lexikon