Sobes.tech
Middle

Kā īstenot daļēju darījuma atsaukšanu (ne pilnīgu, bet līdz noteiktai vietai)?

sobes.tech AI

Atbilde no AI

Daļēja transakcijas atcelšana tiek veikta, izmantojot saglabāšanas punktu (savepoints) mehānismu. Savepoint ļauj izveidot kontroli punktu transakcijas ietvaros, uz kuru var atgriezties, neatsaucot visu transakciju.

SQL piemērs (PostgreSQL):

BEGIN;
-- operācijas 1
SAVEPOINT sp1;
-- operācijas 2
-- ja nepieciešams atgriezties tikai līdz sp1
ROLLBACK TO SAVEPOINT sp1;
-- transakcijas turpinājums
COMMIT;

Tādējādi, var atgriezt izmaiņas tikai pēc savepoint, saglabājot iepriekšējās izmaiņas vienā transakcijā.