Differenza tra istruzione di COMMIT e ROLLBACK in SQL

Differenza tra istruzione di COMMIT e ROLLBACK in SQL

COMMIT e ROLLBACK, sono le due istruzioni transazionali utilizzate per eseguire o annullare le transazioni. Una transazione può avere una sequenza di query o può 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 con successo, l’ istruzione COMMIT consente alla modifica apportata 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, a partire dalla prima istruzione della transazione corrente.

Definizione di COMMIT

COMMIT è un’istruzione SQL, che segnala il completamento con successo di una transazione. Ogni volta che una transazione completa la sua esecuzione senza alcuna interruzione, le modifiche apportate al database dalla transazione diventano permanenti. Il che significa che il database non può riguadagnare i suoi stati precedenti in cui si trovava, prima dell’esecuzione del primo statement, della transazione.

Al termine dell’ultima istruzione della transazione, la transazione diventa parzialmente impegnata. Successivamente, i protocolli di ripristino assicurano che anche un guasto del sistema non impedirebbe al database di rendere permanenti le modifiche. Non appena questo viene controllato, il punto di commit della transazione è stato raggiunto e finalmente la transazione entra in uno stato di commit.

Una volta che la transazione entra in uno stato di commit, non può essere ripristinata e inizia una nuova transazione.

Definizione di ROLLBACK

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

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

Differenza tra istruzione di COMMIT e ROLLBACK in SQL

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 l’istruzione COMMIT, la modifica apportata dalla transazione non può essere ROLLBACK. Tuttavia, una volta eseguita l’istruzione ROLLBACK, il database raggiunge lo stato precedente.
  3. COMMIT viene eseguito alla corretta esecuzione delle istruzioni di transazione. Tuttavia, il ROLLBACK viene eseguito quando la transazione non viene eseguita correttamente.

Conclusioni

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

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *