Recomendado, 2024

La Elección Del Editor

Diferencia entre COMMIT y ROLLBACK en SQL

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 las instrucciones de actualización que modifican la base de datos. La diferencia fundamental entre COMMIT y ROLLBACK radica en su trabajo. Si la transacción se ejecuta con éxito, la instrucción COMMIT permite que la modificación realizada por la transacción en la base de datos se convierta en permanente. Por otro lado, si la transacción debida a algún motivo se ejecuta con éxito, la instrucción ROLLBACK 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.

Gráfica comparativa

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 se produce cuando la transacción se ejecuta con éxito.ROLLBACK ocurre cuando la transacción es abortada en medio de la ejecución.
SintaxisCOMETER;RETROCEDER;

Definición de COMPROMISO

COMMIT es una declaración SQL, que señala la finalización exitosa de una transacción. Cada vez que una transacción completa su ejecución sin ninguna interrupción, las modificaciones hechas a 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 se encontraba, antes de la ejecución de la primera declaración, de la transacción.

La sintaxis de la sentencia COMMIT es la siguiente:

COMETER;

Cuando la última declaración de la transacción finaliza, la transacción se confirma parcialmente . A continuación, los protocolos de recuperación aseguran que, incluso un fallo del sistema, no podría impedir que la base de datos haga las modificaciones permanentes. Tan pronto como se verifica esto, el punto de confirmación de la transacción ha alcanzado y finalmente la transacción entra en un estado confirmado . Una vez que la transacción entra en un estado confirmado, no se puede revertir y comienza una nueva transacción.

Definición de ROLLBACK

Al igual que COMMIT, ROLLBACK también es una declaración SQL, y señala que la transacción no se ha completado correctamente . Por lo tanto, la transacción se cancela para deshacer los cambios realizados por la transacción. Después de la ejecución de ROLLBACK, no se retiene ninguna modificación realizada por la transacción actual.

La sintaxis de ROLLBACK es la siguiente:

RETROCEDER ;

La transacción ROLLBACK se vuelve necesaria si se produce un error durante la ejecución de una transacción. El error puede ser el fallo del sistema, la interrupción del suministro eléctrico, el error en los extractos de transacciones, el bloqueo del sistema. En el caso de un fallo de alimentación o un fallo del sistema, el ROLLBACK se produce cuando el sistema se reinicia de nuevo. ROLLBACK solo puede ocurrir si aún no se ejecuta COMMIT.

Diferencias clave entre COMMIT y ROLLBACK en SQL

  1. La principal diferencia entre las sentencias COMMIT y ROLLBACK de SQL es que la ejecución de la sentencia COMMIT hace que todas las modificaciones realizadas por la transacción actual se conviertan en 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 haya ejecutado la modificación realizada por la transacción, no podrá 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 los estados de transacción. Sin embargo, el ROLLBACK se ejecuta cuando la transacción no se ejecuta correctamente.

Conclusión:

Para asegurarse de que los cambios realizados por la transacción se guardan de forma permanente en la base de datos, utilice COMMIT después de que la transacción se complete con éxito. En caso de que la transacción tenga algún error durante la ejecución, luego para deshacer los cambios realizados por la transacción, se utiliza ROLLBACK.

Top