COMMIT
és una instrucció SQL que confirma de manera definitiva tots els canvis realitzats dins d’una transacció. Quan s’executa, les operacions (INSERT, UPDATE, DELETE) passen de l’espai temporal de treball a la base de dades persistent i esdevenen visibles per a la resta d’usuaris i sessions.
Fins que no s’executa COMMIT
, els canvis romanen en estat provisional i només són visibles dins la sessió actual.
Relació amb les transaccions
Una transacció és un conjunt d’operacions SQL que es tracten com una unitat indivisible de treball i que ha de complir les propietats ACID:
- Atomicitat: o bé s’executen totes les operacions, o cap.
- Consistència: la base de dades passa d’un estat vàlid a un altre.
- Aïllament: les transaccions no interfereixen entre si.
- Durabilitat: els canvis confirmats amb
COMMIT
es mantenen fins i tot en cas de fallada del sistema.
Exemple
BEGIN TRANSACTION;
UPDATE comptes SET saldo = saldo - 100 WHERE id = 1;
UPDATE comptes SET saldo = saldo + 100 WHERE id = 2;
COMMIT;
- Si s’executa
COMMIT
, els dos canvis es guarden i són visibles. - Si hi ha un problema i s’executa
ROLLBACK
, es desfan i la base de dades torna a l’estat inicial.
Vegeu també
- [ROLLBACK]
- [Transacció (SQL)]
- [Propietats ACID]