λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Back Up Data

Ποια είναι η διαφορά μεταξύ επαναφοράς και αποθήκευσης σημείων στο SQL με παραδείγματα;

Rollback and SavePoint στο SQL:Μια σαφής διάκριση

Τόσο το `rollback` και το` savepoint 'είναι εντολές SQL που χρησιμοποιούνται για τη διαχείριση των καταστάσεων συναλλαγών, αλλά εξυπηρετούν διαφορετικούς σκοπούς.

rollback:

* Σκοπός: Επαναφέρει τη βάση δεδομένων σε προηγούμενη κατάσταση ανατρέποντας όλες τις αλλαγές που έγιναν εντός της τρέχουσας συναλλαγής.

* Πεδίο εφαρμογής: Ανατρέπει τα πάντα από την έναρξη της συναλλαγής.

* Παράδειγμα:

`` sql

- Ξεκινήστε μια συναλλαγή

Ξεκινήστε τη συναλλαγή ·

- Εισαγάγετε μερικά δεδομένα

Εισαγωγή σε πελάτες (όνομα, email) Τιμές ('John Doe', 'john.doe@example.com');

Εισάγετε σε παραγγελίες (customerid, orderdate) τιμές (1, '2023-10-27');

- επαναφορά όλων των αλλαγών που έγιναν στη συναλλαγή

Συναλλαγή rollback ·

- Τώρα, η βάση δεδομένων επιστρέφει στην πολιτεία της πριν ξεκινήσει η συναλλαγή.

`` `

SavePoint:

* Σκοπός: Σηματοδοτεί ένα συγκεκριμένο σημείο μέσα σε μια συναλλαγή για πιθανές επαναλήψεις.

* Πεδίο εφαρμογής: Επιτρέπει την επιστροφή μόνο στο καθορισμένο σημείο αποθήκευσης, διατηρώντας τις αλλαγές που έγιναν μετά από αυτό.

* Παράδειγμα:

`` sql

- Ξεκινήστε μια συναλλαγή

Ξεκινήστε τη συναλλαγή ·

- Εισαγάγετε μερικά δεδομένα

Εισαγάγετε σε πελάτες (όνομα, email) Τιμές ('Jane Doe', 'jane.doe@example.com');

- Δημιουργήστε ένα σημείο αποθήκευσης

SavePoint MySavePoint;

- Εισαγάγετε περισσότερα δεδομένα

Εισάγετε σε παραγγελίες (customerid, orderdate) τιμές (2, '2023-10-28');

- Αλλαγή στο σημείο αποθήκευσης

Συναλλαγή rollback στο MySavePoint.

- Τώρα, η βάση δεδομένων θα επιστρέψει στην κατάσταση της μετά το πρώτο ένθετο, διατηρώντας την παραγγελία που τοποθετείται μετά το σημείο αποθήκευσης.

`` `

Περίληψη:

| Χαρακτηριστικό | Rollback | Αποθήκευση σημείων |

| --- | --- | --- |

| Σκοπός | ΑΝΑΚΟΙΝΩΣΗ ΟΛΩΝ ΤΩΝ ΑΛΛΑΓΩΝ ΣΤΗΝ ΤΗΣ ΤΗΣ ΤΗΣ ΣΥΝΑΛΛΑΓΗΣ | Rollback σε ένα συγκεκριμένο σημείο εντός της συναλλαγής |

| Πεδίο εφαρμογής | Ολόκληρη συναλλαγή | Συγκεκριμένο σημείο |

| αποτέλεσμα | Η βάση δεδομένων επιστρέφει στην κατάσταση της πριν από τη συναλλαγή | Η βάση δεδομένων επανέρχεται στην κατάσταση στο SavePoint |

Βασικές διαφορές:

* `Rollback` χωρίς ένα σημείο αποθήκευσης ανατρέπει όλες τις αλλαγές στη συναλλαγή.

* `Rollback` με ένα σημείο αποθήκευσης επιστρέφει τη βάση δεδομένων στην κατάσταση στο σημείο αποθήκευσης, απορρίπτοντας τις αλλαγές που έγιναν μετά από αυτό.

Πότε να χρησιμοποιήσετε ποια:

* rollback: Χρησιμοποιήστε όταν θέλετε να απορρίψετε όλες τις αλλαγές μέσα σε μια συναλλαγή, συνήθως λόγω των σφαλμάτων ή των ασυμφωνιών δεδομένων.

* SavePoint: Χρησιμοποιήστε όταν θέλετε να επαναληφθείτε σε μια συγκεκριμένη κατάσταση μέσα σε μια συναλλαγή, διατηρώντας τις αλλαγές που έγιναν μετά το σημείο αποθήκευσης. Αυτό είναι χρήσιμο για πολύπλοκες λειτουργίες όπου πρέπει να ανατρέψετε συγκεκριμένα τμήματα της συναλλαγής χωρίς να επηρεάσετε ολόκληρη τη διαδικασία.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα