Anfang des Inhaltsbereichs

Transaktion Dokument im Navigationsbaum lokalisieren

Eine Transaktion ist eine Folge von SQL-Anweisungen, die vom Datenbanksystem als atomare Einheit behandelt wird, und zwar in dem Sinn, daß die durch die SQL-Anweisungen hervorgerufenen Datenbankänderungen entweder alle im Datenbankzustand repräsentiert sind, oder daß andernfalls keine der Änderungen in der Datenbank vorhanden ist.

Durch Eröffnen einer Datenbanksitzung mit Hilfe der CONNECT-Anweisung wird die erste Transaktion eröffnet. Abgeschlossen wird eine Transaktion durch die COMMIT-Anweisung oder die ROLLBACK-Anweisung. Wenn die Transaktion durch eine COMMIT-Anweisung erfolgreich beendet wird, sind alle Datenbankänderungen dauerhaft. Wird die Transaktion dagegen durch eine ROLLBACK-Anweisung beendet oder anderweitig abgebrochen, werden alle innerhalb der Transaktion durchgeführten Datenbankänderungen rückgängig gemacht.

Sowohl die COMMIT- als auch die ROLLBACK-Anweisung eröffnen implizit eine neue Transaktion.

Eine Transaktion kann in weitere atomare Einheiten unterteilt werden, nämlich in Subtransaktionen.

Sperren

Da das Datenbanksystem konkurrierende Transaktionen auf den gleichen Datenbankobjekten zuläßt, sind zur Isolation einzelner Transaktionen Sperren auf Zeilen, Tabellen und dem Datenbankkatalog nötig.

Informationen zum Sperrkonzept finden Sie in Das Datenbanksystem SAP DB im Abschnitt Sperrverhalten.

·        Die Vergabe von impliziten Sperren kann durch die Einstellung des Isolation-Levels über die CONNECT-Anweisung beeinflusst werden.

·        Sperren können explizit durch die LOCK-Anweisung oder durch die Angabe einer LOCK-Option vergeben werden.

·        Schreibsperren für Zeilen, die noch nicht geändert wurden, und Lesesperren auf Zeilen können durch die UNLOCK-Anweisung vor Transaktionsende freigegeben werden.

Die einer Transaktion zugeordneten Sperren werden im Normalfall am Transaktionsende freigegeben, so dass die entsprechenden Datenbankobjekte wieder für andere Transaktionen zugänglich sind.

SQL-Anweisungen zur Verwaltung der Transaktionen

CONNECT-Anweisung

SET-Anweisung

 

COMMIT-Anweisung

ROLLBACK-Anweisung

SUBTRANS-Anweisung

LOCK-Anweisung

UNLOCK-Anweisung

RELEASE-Anweisung

 

Ende des Inhaltsbereichs