Transaktionen gruppieren eine Reihe von Aufgaben in einer einzigen Ausführungseinheit. Jede Transaktion beginnt mit einem bestimmten Auftrag und endet, wenn alle Aufgaben in der Gruppe erfolgreich abgeschlossen wurden. Wenn eine der Aufgaben fehlschlägt, schlägt die Transaktion fehl. Daher hat eine Transaktion nur zwei Ergebnisse: Erfolg oder Versagen .
Beispiel einer Transaktion zur Überweisung von 150 $ von Konto A auf Konto B:
1. read(A) 2. A:= A – 150 3. write(A) 4. read(B) 5. B:= B + 150 6. write(B)>
Unvollständige Schritte führen zum Scheitern der Transaktion. Eine Datenbanktransaktion muss per Definition atomar, konsistent, isoliert und dauerhaft sein.
Diese sind im Volksmund als bekannt SÄURE Eigenschaften. Diese Eigenschaften können die gleichzeitige Ausführung mehrerer Transaktionen ohne Konflikte sicherstellen.
Eigenschaften der Transaktion
- Atomarität: Das Ergebnis einer Transaktion kann entweder völlig erfolgreich oder völlig erfolglos sein. Wenn ein Teil davon fehlschlägt, muss die gesamte Transaktion zurückgesetzt werden.
- Konsistenz: Transaktionen behalten Integritätsbeschränkungen bei, indem sie die Datenbank von einem gültigen Zustand in einen anderen verschieben.
- Isolierung: Gleichzeitige Transaktionen sind voneinander isoliert, wodurch die Genauigkeit der Daten gewährleistet ist.
- Haltbarkeit: Sobald eine Transaktion festgeschrieben wurde, bleiben ihre Änderungen auch bei einem Systemausfall wirksam.
Wie implementiert man einen Transaktionssteuerungsbefehl mit SQL?
Die folgenden Befehle werden zur Steuerung von Transaktionen verwendet. Es ist wichtig zu beachten, dass diese Anweisungen nicht beim Erstellen von Tabellen verwendet werden können und nur mit den DML-Befehlen verwendet werden, wie z. EINFÜGEN , AKTUALISIEREN , Und LÖSCHEN .
BEGIN TRANSACTION-Befehl
Es gibt den Startpunkt einer expliziten oder lokalen Transaktion an.
Syntax:
BEGIN TRANSACTION transaktionsname ;
SET TRANSACTION-Befehl
Die Werte für die Eigenschaften der aktuellen Transaktion, wie z. B. die Transaktionsisolationsstufe und den Zugriffsmodus, werden mithilfe der SET TRANSACTION-Anweisung in MySQL festgelegt.
Alter von Pete Davidson
Syntax:
TRANSAKTION EINSTELLEN [ LESEN SCHREIBEN | SCHREIBGESCHÜTZT ];
COMMIT-Befehl
Wenn mit allen Aussagen innerhalb einer einzelnen Transaktion alles in Ordnung ist, werden alle Änderungen gemeinsam in der aufgerufenen Datenbank erfasst engagiert . Der COMMIT-Befehl speichert alle Transaktionen seit dem letzten COMMIT- oder ROLLBACK-Befehl in der Datenbank.
Java-Standardparameter
Syntax:
BEGEHEN;
Beispiel:
Beispieltabelle1

Ausgabe
Im Folgenden sehen Sie ein Beispiel, das die Datensätze aus der Tabelle löscht, deren Alter = 20 ist, und dann die Änderungen in der Datenbank festschreibt.
Mathematische Methoden in Java
Abfrage
DELETE FROM Student WHERE AGE = 20; COMMIT;>
Ausgabe
Somit würden zwei Zeilen aus der Tabelle gelöscht und die SELECT-Anweisung würde wie folgt aussehen:

Ausgabe
ROLLBACK-Befehl
Wenn bei einer der SQL-Gruppenanweisungen ein Fehler auftritt, müssen alle Änderungen abgebrochen werden. Der Vorgang des Rückgängigmachens von Änderungen wird aufgerufen Rollback . Mit diesem Befehl können nur Transaktionen rückgängig gemacht werden, seit der letzte COMMIT- oder ROLLBACK-Befehl ausgegeben wurde.
Syntax für ROLLBACK-Befehl:
ROLLBACK;
Beispiel:
Aus dem obigen Beispiel Beispieltabelle1 ,
Löschen Sie die Datensätze aus der Tabelle, deren Alter = 20 ist, und führen Sie dann ein ROLLBACK der Änderungen in der Datenbank durch.
Abfrage
DELETE FROM Student WHERE AGE = 20; ROLLBACK;>
Ausgabe

Ausgabe
SAVEPOINT-Befehl
SPEICHERPUNKT Erstellt Punkte innerhalb der Transaktionsgruppen, in denen ein ROLLBACK durchgeführt werden soll.
Ein SAVEPOINT ist ein Punkt in einer Transaktion, an dem Sie die Transaktion auf einen bestimmten Punkt zurücksetzen können, ohne die gesamte Transaktion rückgängig zu machen.
Syntax für den Savepoint-Befehl:
Polymorphismus
SAVEPOINT SAVEPOINT_NAME;
Dieser Befehl wird nur bei der Erstellung von SAVEPOINT unter allen Transaktionen verwendet.
Im Allgemeinen wird ROLLBACK verwendet, um eine Gruppe von Transaktionen rückgängig zu machen.
Syntax für das Rollback zum Savepoint-Befehl:
ROLLBACK ZU SAVEPOINT_NAME;
Sie können jederzeit einen ROLLBACK zu einem beliebigen SAVEPOINT durchführen, um die entsprechenden Daten in ihren ursprünglichen Zustand zurückzusetzen.
Beispiel:
Aus dem obigen Beispiel Beispieltabelle1 , Löschen Sie die Datensätze aus der Tabelle, deren Alter = 20 ist, und setzen Sie dann die Änderungen in der Datenbank zurück, indem Sie die Sicherungspunkte beibehalten.
Abfrage
SAVEPOINT SP1; //Savepoint created. DELETE FROM Student WHERE AGE = 20; //deleted SAVEPOINT SP2; //Savepoint created.>
Hier wird SP1 als erster SAVEPOINT vor dem Löschen erstellt. In diesem Beispiel wurde ein Löschvorgang durchgeführt.
Nach dem erneuten Löschen wird SAVEPOINT SP2 erstellt.
Ausgabe

Ausgabe
Der Löschvorgang wurde durchgeführt. Gehen wir davon aus, dass Sie Ihre Meinung geändert und sich für ein ROLLBACK zum SAVEPOINT entschieden haben, den Sie vor dem Löschvorgang als SP1 identifiziert haben.
Durch diese Anweisung wird die Löschung rückgängig gemacht.
Abfrage
ROLLBACK TO SP1; //Rollback completed>
Ausgabe

Ausgabe
RELEASE SAVEPOINT-Befehl
Mit diesem Befehl können Sie einen von Ihnen erstellten SAVEPOINT entfernen.
Welche Monate sind im dritten Quartal?
Syntax:
SAVEPOINT SAVEPOINT_NAME FREIGEBEN
Sobald ein SAVEPOINT freigegeben wurde, können Sie mit dem ROLLBACK-Befehl keine Transaktionen mehr rückgängig machen, die seit dem letzten SAVEPOINT durchgeführt wurden.
Es wird zum Initiieren einer Datenbanktransaktion und zum Spezifizieren von Merkmalen der folgenden Transaktion verwendet.
Abschluss
- SQL-Anweisungen werden mithilfe von Transaktionen gruppiert.
- Sie versprechen, dass entweder alle Änderungen vorgenommen werden oder gar keine.
- Die Zuverlässigkeit wird durch die ACID-Eigenschaften Atomizität, Konsistenz, Isolierung und Haltbarkeit gewährleistet.
- Starten Sie eine Transaktion mit BEGIN TRANSACTION und beenden Sie sie mit COMMIT oder ROLLBACK, um Änderungen abzuschließen oder rückgängig zu machen.