Middle
Πώς υλοποιείτε μια μερική ανάκληση μιας συναλλαγής (όχι πλήρη, αλλά μέχρι ένα συγκεκριμένο σημείο);
sobes.tech AI
Απάντηση από AI
Η μερική επαναφορά μιας συναλλαγής πραγματοποιείται με τη χρήση του μηχανισμού σημείων αποθήκευσης (savepoints). Ένα savepoint επιτρέπει την καθιέρωση ενός σημείου ελέγχου μέσα σε μια συναλλαγή, στο οποίο μπορεί να επιστρέψει κανείς χωρίς να ακυρώσει ολόκληρη τη συναλλαγή.
Παράδειγμα σε SQL (PostgreSQL):
BEGIN;
-- λειτουργίες 1
SAVEPOINT sp1;
-- λειτουργίες 2
-- αν χρειάζεται να επιστρέψετε μόνο μέχρι το sp1
ROLLBACK TO SAVEPOINT sp1;
-- συνέχεια της συναλλαγής
COMMIT;
Έτσι, μπορείτε να αναιρέσετε τις αλλαγές μόνο μετά το savepoint, διατηρώντας τις προηγούμενες αλλαγές στο πλαίσιο μιας ίδιας συναλλαγής.