Sobes.tech
Middle

Hogyan valósítja meg a tranzakció részleges visszavonását (nem teljes, hanem egy adott pontig)?

sobes.tech MI

Válasz az MI-től

A tranzakció részleges visszavonása a mentési pontok (savepoints) mechanizmusával valósítható meg. Egy savepoint lehetővé teszi, hogy egy tranzakción belül ellenőrzési pontot állítson be, ahonnan visszatérhet anélkül, hogy az egész tranzakciót megszakítaná.

SQL példa (PostgreSQL):

BEGIN;
-- műveletek 1
SAVEPOINT sp1;
-- műveletek 2
-- ha csak sp1-ig akar visszalépni
ROLLBACK TO SAVEPOINT sp1;
-- a tranzakció folytatása
COMMIT;

Így csak a savepoint utáni változtatásokat lehet visszavonni, miközben a korábbi módosítások megmaradnak ugyanazon tranzakción belül.