Das folgende Skript zeigt ein einfaches Beispiel für den Einsatz von Transaktionen in einer MySQL-Datenbank. Am Ende des Skriptes kann die Transaktion testweise mit COMMIT
bestätigt oder ROLLBACK
zurückgesetzt werden. Mit der abschließenden SELECT
-Anweisung lässt sich das Ergebnis prüfen.
----------------------------------------------------- -- OMS-SL Skript: -- Beispiel für Transaktionen -- DBMS: MySQL ----------------------------------------------------- -- Autor.....: Christoph -- Datum/Zeit: 01.08.2013 16:37:25 ----------------------------------------------------- -- Transaktion öffnen BEGIN; -- Operationen auf der Datenbank durchführen INSERT INTO 'test2' ( 'id' ) VALUES ( 11 ); -- Ausgabe vor COMMIT/ROLLBACK SELECT * FROM test2; --Transaktion abschließen (COMMIT oder ROLLBACK) -- COMMIT; ROLLBACK; -- Ausgabe nach COMMIT/ROLLBACK SELECT * FROM test2;
Die erste SELECT
-Anweisung befindet sich innerhalb der Transaktion. Der zuvor mit der INSERT
-Anweisung neu eingefügte Datensatz muss daher im ersten Grid (Ergebnis 1) sichtbar sein. Je nachdem, ob ein COMMIT
oder ROLLBACK
ausgeführt wird, kann man dann mit der zweiten SELECT
-Anweisung prüfen, ob die INSERT
-Anweisung tatsächlich einen neuen Datensatz eingefügt hat. Die Ausgabe erfolgt in einem weiteren Grid (Ergebnis 2).