Diferencia entre COMMIT y ROLLBACK en SQL

Autor: Laura McKinney
Fecha De Creación: 1 Abril 2021
Fecha De Actualización: 12 Mayo 2024
Anonim
Transacciones en bases de datos - Uso de COMMIT y ROLLBACK
Video: Transacciones en bases de datos - Uso de COMMIT y ROLLBACK

Contenido


COMMIT y ROLLBACK, son las dos declaraciones transaccionales que se utilizan para hacer o deshacer las transacciones. Una transacción puede tener una secuencia de consultas, o puede tener las declaraciones de actualización que modifican la base de datos. La diferencia fundamental entre COMMIT y ROLLBACK radica en su funcionamiento. Si la transacción se ejecuta con éxito, entonces, el COMETER La declaración permite que la modificación realizada por la transacción en la base de datos se vuelva permanente. Por otro lado, si la transacción por algún motivo se ejecuta con éxito, entonces el RETROCEDER La declaración deshace todas las actualizaciones, desde la primera declaración de la transacción actual.

Discutamos la diferencia entre las declaraciones Commit y ROLLBACK en SQL con la ayuda del cuadro de comparación que se muestra a continuación.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónCOMETERRETROCEDER
BASICCOMMIT valida las modificaciones realizadas por la transacción actual.ROLLBACK borra las modificaciones realizadas por la transacción actual.
EfectoDespués de la ejecución de la instrucción COMMIT, la transacción no puede ser ROLLBACK.Una vez que se ejecuta ROLLBACK, la base de datos alcanza su estado anterior, es decir, antes de la ejecución de la primera declaración de la transacción.
OcurrenciaCOMMIT ocurre cuando la transacción se ejecuta con éxito.ROLLBACK ocurre cuando la transacción se aborta en medio de la ejecución.
SintaxisCOMETER;RETROCEDER;

Definición de COMMIT

COMETER es una declaración SQL, que señala la exitoso finalización de una transacción. Cada vez que una transacción completa su ejecución sin interrupción, las modificaciones realizadas en la base de datos por la transacción se vuelven permanentes. Lo que significa que la base de datos no puede recuperar sus estados anteriores en los que estaba, antes de la ejecución de la primera declaración, de la transacción.


La sintaxis de la declaración COMMIT es la siguiente:

COMETER;

Cuando finaliza la última declaración de la transacción, la transacción se convierte en parcialmente comprometido. A continuación, el protocolos de recuperación asegúrese de que incluso una falla del sistema no pueda impedir que la base de datos haga las modificaciones permanentes. Tan pronto como se verifique esto, el punto de compromiso de la transacción ha alcanzado y finalmente la transacción entra en un estado comprometido. Una vez que la transacción entra en un estado comprometido, no se puede revertir y comienza una nueva transacción.

Definición de ROLLBACK

Como COMMIT, RETROCEDER también es una instrucción SQL, y señala que la transacción tiene no ha sido completado exitosamente. Por lo tanto, la transacción es abortado para deshacer los cambios realizados por la transacción. Después de la ejecución de ROLLBACK, no se conservan las modificaciones realizadas por la transacción actual.


La sintaxis de ROLLBACK es la siguiente:

RETROCEDER ;

La transacción ROLLBACK se hace necesaria si se produce un error durante la ejecución de una transacción. El error puede ser la falla del sistema, corte de energía, error en las declaraciones de transacción, bloqueo del sistema. En caso de falla de energía o bloqueo del sistema, el ROLLBACK ocurre cuando el sistema se reinicia nuevamente. ROLLBACK solo puede ocurrir si COMMIT aún no se ejecuta.

  1. La principal diferencia entre las declaraciones COMMIT y ROLLBACK de SQL es que la ejecución de la declaración COMMIT hace que todas las modificaciones realizadas por la transacción actual se vuelvan permanentes. Por otro lado, la ejecución de ROLLBACK borra todas las modificaciones realizadas por la transacción actual.
  2. Una vez que la instrucción COMMIT se ha ejecutado, la modificación realizada por la transacción no puede ser ROLLBACK. Sin embargo, una vez que se ejecuta la instrucción ROLLBACK, la base de datos alcanza su estado anterior.
  3. COMMIT se ejecuta en la ejecución exitosa de las declaraciones de transacción. Sin embargo, el ROLLBACK se ejecuta cuando la transacción no se ejecuta con éxito.

Conclusión:

Para asegurarse de que los cambios realizados por la transacción se guarden permanentemente en la base de datos, use COMMIT después de que la transacción se complete con éxito. En caso de que la transacción enfrente algún error durante la ejecución, para deshacer los cambios realizados por la transacción, se utiliza ROLLBACK.