Sobes.tech
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.