Diferència entre COMMIT i ROLLBACK en SQL

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 4 Ser Possible 2024
Anonim
Diferència entre COMMIT i ROLLBACK en SQL - Tecnologia
Diferència entre COMMIT i ROLLBACK en SQL - Tecnologia

Content


COMMITand ROLLBACK, són els dos estats transaccionals que s’utilitzen, fan o anul·len les transaccions. Una transacció pot tenir una seqüència de consultes o pot tenir les instruccions d’actualització que modifiquen la base de dades. La diferència fonamental entre COMMIT i ROLLBACK resideix en el seu funcionament. Si la transacció s'executa amb èxit, el COMETRE, FER declaració permet que la modificació realitzada per la transacció a la base de dades esdevingui permanent. D'altra banda, si la transacció per algun motiu s'executa amb èxit, llavors la ROLLBACK la declaració anul·la totes les actualitzacions, des de la primera declaració de la transacció actual.

Analitzem la diferència entre les sentències de Commit i ROLLBACK en SQL amb l'ajut del gràfic de comparació que es mostra a continuació.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióCOMETRE, FERROLLBACK
BàsicCOMMIT valida les modificacions realitzades per la transacció actual.ROLLBACK esborra les modificacions realitzades per la transacció actual.
EfecteDesprés de l’execució de la declaració COMMIT, la transacció no es podrà fer ROLLBACK.Un cop executada la base de dades ROLLBACK arriba al seu estat anterior, és a dir, abans de l’execució de la primera declaració de la transacció.
OcurrènciaCOMMIT es produeix quan la transacció s’executa amb èxit.ROLLBACK es produeix quan la transacció està avortada enmig de l'execució.
SintaxiCOMETRE, FER;ROLLBACK;

Definició de COMMIT

COMETRE, FER és una sentència SQL, que és el senyal de reeixit finalització d'una transacció. Sempre que una transacció finalitzi la seva execució sense cap tipus d’interrupció, les modificacions realitzades a la base de dades, per la transacció es fan permanents. El que significa que la base de dades no pot recuperar els seus estats anteriors en què es trobava, abans de l’execució de la primera declaració, de la transacció.


La sintaxi de la declaració COMMIT és la següent:

COMETRE, FER;

Quan finalitza l'última declaració de la transacció, la transacció es converteix parcialment compromès. A continuació, el protocols de recuperació assegureu-vos que, fins i tot un fracàs del sistema, no impossibilitaria la base de dades, per fer les modificacions permanents. Tan aviat com està comprovat, el punt de comissió La transacció ha arribat i finalment la transacció entra en un estat compromès. Una vegada que la transacció entra en un estat compromès, no es pot tornar a fer, i comença una nova transacció.

Definició de ROLLBACK

Com a COMMIT, ROLLBACK també és una sentència SQL i indica que la transacció té no s'ha completat amb èxit. Per tant, la transacció és així avortat per desfer els canvis realitzats per la transacció. Després de l’execució de ROLLBACK, no es conserva cap modificació realitzada per l’operació actual.


La sintaxi de ROLLBACK és la següent:

ROLLBACK;

Transacció ROLLBACK esdevé necessari si es produeix un error durant l'execució d'una transacció. L’error pot ser una fallada del sistema, una interrupció d’energia, un error en les declaracions de transaccions, un error del sistema. En cas de fallada d’energia o fallada del sistema, el ROLLBACK es produeix quan el sistema es torna a iniciar. ROLLBACK només es pot produir si encara no s'ha executat COMMIT.

  1. La diferència principal entre les instruccions COMMIT i ROLLBACK d’SQL és que l’execució de la instrucció COMMIT fa que totes les modificacions realitzades per la transacció actual esdevinguin permanents. D'altra banda, l'execució de ROLLBACK esborra tota la modificació realitzada per la transacció actual.
  2. Una vegada executada la declaració COMMIT, la modificació realitzada per la transacció no pot ser ROLLBACK. Tanmateix, un cop executada la instrucció ROLLBACK la base de dades arriba al seu estat anterior.
  3. COMMIT s'executa amb l'execució correcta dels estats de transacció. Tanmateix, el ROLLBACK s’executa quan la transacció no s’executa amb èxit.

Conclusió:

Per assegurar-vos que els canvis realitzats per la transacció es guarden permanentment a la base de dades, utilitzeu COMMIT un cop finalitzada amb èxit la transacció. En cas que la transacció tingui algun error durant l’execució, després per desfer els canvis realitzats per la transacció, s’utilitza ROLLBACK.