Sobes.tech
Middle

Hoe implementeer je een gedeeltelijke rollback van een transactie (niet volledig, maar tot een bepaald punt)?

sobes.tech AI

Antwoord van AI

De gedeeltelijke rollback van een transactie wordt uitgevoerd met behulp van het mechanisme van savepoints. Een savepoint stelt je in staat om een controlepunt binnen een transactie te plaatsen, waar je zonder de hele transactie te annuleren, naartoe kunt terugkeren.

Voorbeeld in SQL (PostgreSQL):

BEGIN;
-- operaties 1
SAVEPOINT sp1;
-- operaties 2
-- als je alleen tot sp1 wilt terugkeren
ROLLBACK TO SAVEPOINT sp1;
-- voortzetting van de transactie
COMMIT;

Op deze manier kunnen alleen de wijzigingen na het savepoint worden teruggedraaid, terwijl de eerdere wijzigingen binnen dezelfde transactie behouden blijven.