COMMIT
Un COMMIT
è in generale uno statement o un comando SQL che chiude in maniera definitiva una Transazione-SQL o una semplice operazione di UPDATE
all'interno di un Relational Database Managment System (RDBMS) rendendo le modifiche apportate effettive e visibili agli altri utenti. Al contrario di una semplice operazione di UPDATE
, in una Transazione-SQL è generalmente buona norma utilizzare le clausole di BEGIN
e END
ad indicare il suo inizio e la sua fine.
Uno statement di COMMIT
deve essere interpretato come un salvataggio definitivo per una o più operazioni di aggiornamento (UPDATE) precedenti ad essa ma anche successive all'ultimo COMMIT
effettuato. Tutte le operazioni di aggiornamento che non vengono chiuse con un COMMIT
sono considerate nulle dal DBMS. In tal caso, si parla di operazione di ROLLBACK
automatico. Un ROLLBACK
può essere anche manuale, allo scopo di ripristinare o annullare le modifiche effettuate.
AUTOCOMMIT
[modifica | modifica wikitesto]Tutti i DBMS Server e Client SQL sono dotati di una funzione di AUTOCOMMIT
che permette di non esplicitare la clausola COMMIT
alla fine di ogni script di transazione o update SQL. Questo, da un lato, facilita lo sviluppo degli script e il non dover specificarne l'operazione, rendendo consistente ogni modifica in maniera automatica, dall'altro rende però impossibile effettuare ROLLBACK
.
COMMIT, sessioni e logout dal DBMS
[modifica | modifica wikitesto]Se un'operazione di transazione o di modifica non viene seguita da un comando di COMMIT
, lo scadere di una Sessione o il log out dal DMBS Server può incidere negativamente su una operazione di aggiornamento o transazionale scatenando un ROLLBACK
automatico e rendendola di fatto nulla.