Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> Backup dei dati >> .

Qual è la differenza tra rollback e salva in SQL con esempi?

rollback e salvetto in sql:una chiara distinzione

Entrambi i `rollback` e` savepoint` sono comandi SQL utilizzati per gestire gli stati di transazione, ma servono a scopi diversi.

rollback:

* Scopo: Reimposta il database su uno stato precedente annullando tutte le modifiche apportate all'interno della transazione corrente.

* Ambito: Annulla tutto dall'inizio della transazione.

* Esempio:

`` `sql

- Avvia una transazione

Inizia la transazione;

- Inserire alcuni dati

Inserisci i clienti (nome, e -mail) valori ('John Doe', '[email protected]');

Inserisci i valori degli ordini (CustomerID, OrderDate) (1, '2023-10-27');

- Rollback tutte le modifiche apportate nella transazione

Transazione di rollback;

- Ora, il database è tornato al suo stato prima dell'inizio della transazione.

`` `

SalvaPoint:

* Scopo: Segna un punto specifico all'interno di una transazione per potenziali rollback.

* Ambito: Consente di tornare indietro solo al punto di salvataggio definito, preservando le modifiche apportate dopo di esso.

* Esempio:

`` `sql

- Avvia una transazione

Inizia la transazione;

- Inserire alcuni dati

Inserisci i clienti (nome, e -mail) valori ('Jane Doe', '[email protected]');

- Crea un punto di salvataggio

SavePoint MySavePoint;

- Inserire più dati

Inserisci i valori degli ordini (CustomerID, OrderDate) (2, '2023-10-28');

- rollback al salvataggio

Transazione di rollback a MySavePoint;

- Ora, il database tornerà al suo stato dopo il primo inserto, mantenendo l'ordine effettuato dopo il punto di salvataggio.

`` `

Riepilogo:

| Caratteristica | Rollback | SavePoint |

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

| scopo | Annullare tutte le modifiche nella transazione corrente | Rollback a un punto specifico all'interno della transazione |

| Ambito | Intera transazione | Punto specifico |

| Risultato | Il database ritorna al suo stato prima della transazione | Il database ritorna allo stato a SavePoint |

Differenze chiave:

* `Rollback` senza un punto di salvataggio annulla tutte le modifiche nella transazione.

* `Rollback` con un salvataggio ripristina il database allo stato nel punto di salvataggio, scartando le modifiche apportate dopo di esso.

Quando usare ciò:

* Rollback: Utilizzare quando si desidera scartare tutte le modifiche all'interno di una transazione, in genere a causa di errori o incoerenze di dati.

* SavePoint: Utilizzare quando si desidera rollback in uno stato specifico all'interno di una transazione, preservando le modifiche apportate dopo il salvataggio. Ciò è utile per operazioni complesse in cui è necessario annullare parti specifiche della transazione senza influire sull'intero processo.

 

software © www.354353.com