Dienstag, 12. März 2013

Einfaches Arbeiten mit Transaktionen


Eine Transaktion bezeichnet eine Gruppe von Datenbankabfragen, welche nur gemeinsam ausgeführt werden können.

Dieses ist in ganz unterschiedlichen Bereichen wie z.B. in der Lagerlogistik bei einer Lagerumbuchung notwendig.
Wird ein Artikel von einem Lagerplatz auf einen anderen verschoben, so darf zwischen der Entnahme- und der Ziel-Buchung keine Möglichkeit für Eingriffe bestehen.
Ansonsten könnte es zu Problemen kommen und ein Artikel könnte doppelt verbucht werden.

Einfach gesagt, bündeln Transaktionen also nur mehrere SQL-Abfragen.
Eine Transaktion muss immer geöffnet und auch wieder geschlossen werden.

Öffnen kann man eine Transaktion so:
 -- Transaktion starten
 BEGIN TRANSACTION;

Ist eine Transaktion offen, können diverse SQL-Abfragen durchgeführt werden.
Gibt es hierbei keine Fehler, so kann man die Transaktion einfach wie folgt schließen.

-- Transaktion schließen/bestätigen
COMMIT TRANSACTION;

 Erst mit einem COMMIT werden die ausgeführten Abfragen in der Datenbank veröffentlicht.

Gibt es bei der Verarbeitung der beinhalteten SQL-Abfragen Probleme/Fehler, so muss die Transaktion manuell oder automatisch zurückgeschrieben werden. Dabei werden alle durchgeführten Abfragen verworfen.

Das zurückschreiben kann wie folgt durchgeführt werden.

 -- Transaktion rückgängig machen
 ROLLBACK TRANSACTION;

Keine Kommentare:

Kommentar veröffentlichen