Middle
Ako implementovať čiastočný rollback transakcie (nie úplný, ale do určitej bodky)?
sobes.tech AI
Odpoveď od AI
Čiastočný rollback transakcie sa vykonáva pomocou mechanizmu savepoints. Savepoint umožňuje nastaviť kontrolný bod v rámci transakcie, ku ktorému je možné sa vrátiť bez zrušenia celej transakcie.
Príklad v SQL (PostgreSQL):
BEGIN;
-- operácie 1
SAVEPOINT sp1;
-- operácie 2
-- ak je potrebné vrátiť sa len do sp1
ROLLBACK TO SAVEPOINT sp1;
-- pokračovanie transakcie
COMMIT;
Týmto spôsobom je možné vrátiť zmeny len po savepoint, pričom predchádzajúce zmeny zostávajú zachované v rámci jednej transakcie.