Bisher haben wir gesehen, wie wir eine Transaktion starten und beenden können – für einen Nutzer. Was jedoch ist, wenn viele Nutzer gleichzeitig auf den Server zugreifen und Daten ändern? Wir müssen bedenken, dass die Nutzer nichts voneinander wissen. Jeder denkt, er ist der Einzige. Die parallele Änderung von Daten kann zu Problemen führen. Zum Beispiel könnten zwei Nutzer gleichzeitig den Preis eines Buches ändern sollen. Welcher Preis wird denn dann final gespeichert? Oder denken wir an das Eintragen eines neues Buches. Und wenn nun ein Nutzer seine Änderung rückgängig macht, welcher Preis steht dann in der Tabelle?
Bei diesem Level werden alle Änderungen – auch die nicht bestätigten – sofort allen anderen Usern angezeigt.
Bestätigt bedeutet: Autocommit hat den Wert 1
Unbestätigt bedeutet: Die SQL-Anweisung kann noch mit Rollback rückgängig gemacht werden.
Bei diesem Level werden nur bestätigte Transaktionen den anderen Usern angezeigt.
Alle Nutzer müssen mit Aufbau einer Client-Verbindung eine Transaktion starten. Alle Aktivitäten während der Transaktion werden nur lokal angezeigt, aber sobald ein User seine Transaktion bestätigt, erhalten aller anderen Nutzer die neuen Daten.
Das ist die Standardeinstellung.
Hier werden dem Nutzer keine Änderungen der Daten durch andere Nutzer angezeigt, auch wenn diese bestätigt wurden. Dadurch hat der Nutzer genau das Abbild der Daten, welches zum Beginn seiner Verbindung zum Server bestand.
In diesem Fall kann kein paralleler Zugriff auf die Daten einer Tabelle erfolgen. Vielmehr erfolgt ein sequentieller Zugriff. Derjenige, welcher zuerst auf die Daten einer Tabelle zugreift, hat das exklusive Recht für die Tabelle. Die anderen User müssen warten.