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.
Eine Transaktion kann in weitere atomare Einheiten unterteilt werden, nämlich in Subtransaktionen.
Da das Datenbanksystem konkurrierende Transaktionen auf den gleichen Datenbankobjekten zulässt, sind zur Isolation einzelner Transaktionen Sperren auf Zeilen, Tabellen und dem Datenbankkatalog nötig.
· 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
|
||