COMMIT (SQL)

COMMIT és una instrucció SQL que confirma de manera definitiva tots els canvis d’una transacció, fent-los persistents i visibles per a la resta d’usuaris. Forma part del model ACID juntament amb ROLLBACK.

« Back to Glossary Index

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é

« Back to Glossary Index