Raccomandato, 2024

Scelta Del Redattore

Differenza tra COMMIT e ROLLBACK in SQL

COMMIT e ROLLBACK, sono le due istruzioni transazionali utilizzate, eseguite o annullate le transazioni. Una transazione può avere una sequenza di query o potrebbe avere le istruzioni di aggiornamento che modificano il database. La differenza fondamentale tra COMMIT e ROLLBACK sta nel loro funzionamento. Se la transazione viene eseguita correttamente, l'istruzione COMMIT consente alla modifica effettuata dalla transazione nel database di diventare permanente. D'altra parte, se la transazione per qualche motivo viene eseguita correttamente, l'istruzione ROLLBACK annulla tutti gli aggiornamenti, direttamente dalla prima istruzione della transazione corrente.

Cerchiamo di discutere la differenza tra le dichiarazioni Commit e ROLLBACK in SQL con l'aiuto del grafico di confronto mostrato di seguito.

Grafico comparativo

Base per il confrontoCOMMETTEREROLLBACK
Di baseCOMMIT convalida le modifiche apportate dalla transazione corrente.ROLLBACK cancella le modifiche apportate dalla transazione corrente.
EffettoDopo l'esecuzione dell'istruzione COMMIT, la transazione non può essere ROLLBACK.Una volta eseguito ROLLBACK, il database raggiunge il suo stato precedente, ossia prima dell'esecuzione della prima istruzione della transazione.
avvenimentoCOMMIT si verifica quando la transazione viene eseguita correttamente.ROLLBACK si verifica quando la transazione viene interrotta nel mezzo dell'esecuzione.
SintassiCOMMETTERE;ROLLBACK;

Definizione di COMMIT

COMMIT è un'istruzione SQL, che segnala il completamento positivo di una transazione. Ogni volta che una transazione completa la sua esecuzione senza interruzioni, le modifiche apportate al database, dalla transazione diventano permanenti. Ciò significa che il database non può recuperare i suoi stati precedenti in cui era, prima dell'esecuzione della prima affermazione, della transazione.

La sintassi dell'istruzione COMMIT è la seguente:

COMMETTERE;

Quando l'ultima dichiarazione della transazione termina, la transazione diventa parzialmente impegnata . Successivamente, i protocolli di ripristino assicurano che, anche in caso di errore del sistema, il database non sia in grado di rendere permanenti le modifiche. Non appena viene verificato, il punto di commit della transazione ha raggiunto e, infine, la transazione entra in uno stato di commit . Una volta che la transazione entra in uno stato di commit, non è possibile eseguire il rollback e inizia una nuova transazione.

Definizione di ROLLBACK

Come COMMIT, anche ROLLBACK è un'istruzione SQL e segnala che la transazione non è stata completata correttamente . Quindi, la transazione viene interrotta per annullare le modifiche apportate dalla transazione. Dopo l'esecuzione di ROLLBACK, nessuna modifica, effettuata dalla transazione corrente, viene mantenuta.

La sintassi di ROLLBACK è la seguente:

ROLLBACK;

La transazione ROLLBACK diventa necessaria se si verifica un errore durante l'esecuzione di una transazione. L'errore può essere l'errore di sistema, l'interruzione di corrente, l'errore nelle istruzioni di transazione, l'arresto anomalo del sistema. In caso di interruzione di corrente o arresto anomalo del sistema, il ROLLBACK si verifica quando il sistema si riavvia nuovamente. ROLLBACK può verificarsi solo se COMMIT non è stato ancora eseguito.

Differenze chiave tra COMMIT e ROLLBACK in SQL

  1. La principale differenza tra le istruzioni COMMIT e ROLLBACK di SQL è che l'esecuzione dell'istruzione COMMIT rende permanenti tutte le modifiche apportate dalla transazione corrente. D'altra parte, l'esecuzione di ROLLBACK cancella tutte le modifiche apportate dalla transazione corrente.
  2. Una volta eseguita la dichiarazione COMMIT, la modifica apportata dalla transazione non può essere ROLLBACK. Tuttavia, una volta eseguita l'istruzione ROLLBACK, il database raggiunge il suo stato precedente.
  3. COMMIT viene eseguito sull'esecuzione corretta delle istruzioni di transazione. Tuttavia, il ROLLBACK viene eseguito quando la transazione non viene eseguita correttamente.

Conclusione:

Per garantire che le modifiche apportate dalla transazione vengano salvate in modo permanente nel database, utilizzare COMMIT dopo il completamento con esito positivo della transazione. Nel caso in cui la transazione riscontri eventuali errori durante l'esecuzione, per annullare le modifiche apportate dalla transazione, viene utilizzato ROLLBACK.

Top