El comando SQL COMMIT guarda todas las transacciones que tienen lugar desde el último comando COMMIT o ROLLBACK en la base de datos. Con este comando, cada copia del registro de la base de datos obtendrá este cambio como el nuevo estado de la base de datos.
Las transacciones son un conjunto de comandos SQL ejecutados como unidad de trabajo. Sin el comando SQL COMMIT , cualquier operación DML realizada solo es visible para usted. Cuando ejecuta el comando COMMIT, los cambios se guardan y se vuelven visibles para todos los usuarios.
Sintaxis y parámetros Comando Sql Commit
La sintaxis básica para usar un comando COMMIT en SQL:
BEGIN TRANSACTION;
{un conjunto de sentencias SQL};
COMMIT TRANSACTION;
Los parámetros anteriores son:
- COMIENZO DE LA TRANSACCIÓN (
BEGIN TRANSACTION)
: - El comando COMMIT es una parte esencial de SQL para almacenar la variación en la base de datos. Se ejecuta después de una instrucción DML,(un conjunto de sentencias SQL) como INSERT, DELETE o UPDATE , para garantizar cambios permanentes.
Es necesario asegurarse de que la transacción se ejecute con éxito y las modificaciones se apliquen a la base de datos. Una vez que se ejecuta el comando Commit en las transacciones, los cambios que ocurrieron durante la transacción se vuelven permanentes para todos los usuarios con acceso a la base de datos. Dado que los cambios se guardan permanentemente en la base de datos, es imposible volver a los estados anteriores en los que comenzó la base de datos antes de que comenzara la transacción en el sistema.
Ejemplo SQL COMMIT con el comando Delete
El siguiente ejemplo con el comando SQL COMMIT en una instrucción DELETE; elimina el empleado con id igual a 100.
Código:
BEGIN TRANSACTION;
DELETE FROM empleado
WHERE id = 100;
COMMIT TRANSACTION;
Producción:
En el comando DELETE si no agregamos COMMIT, y cierra la sesión, se perderá el cambio realizado debido al comando DELETE. El uso de la secuencia de comandos mencionada anteriormente garantizará que el comando ELIMINAR se guarde correctamente.
Ejemplo SQL COMMIT con el comando INSERT
En este ejemplo con el comando COMMIT en una instrucción INSERT; inserta los datos de un empleado.
Código:
BEGIN TRANSACTION;
INSERT INTO empleado (id, nombre, apellido, ciudad)
VALUES(100,'pedro','gomez','nuevo México');
COMMIT TRANSACTION;
Producción:
Para el ejemplo anterior, podemos verificar si la operación de inserción se completó con éxito o no, usando una consulta de selección. Podemos ver que se ha creado una nueva fila para el ID de empleado ‘100’.
Ejemplo SQL COMMIT con el comando UPDATE
En este ejemplo actualiza el sexo del empleado con el id número 15 y la transacción es confirmado con el comando sql commit
BEGIN TRAN;
UPDATE Empleado
SET sexo = 'F'
WHERE id= 15
COMMIT TRAN;
Ejecuta la instrucción BEGIN TRAN junto con la instrucción UPDATE. Esto actualizará los datos en la tabla dentro del contexto de transacción actual. Puedes consultar los datos de la tabla para verificar que todo esté actualizado correctamente y que la transacción fue confirmada correctamente con el comando commit
Conclusión
En SQL server, COMMIT es la declaración que se utiliza para guardar los cambios que ocurrieron en la transacción de forma permanente en la memoria ROM. Estos cambios no se pueden revertir a la base de datos. Una vez que se ejecuta la declaración COMMIT en SQL Server, la tabla de la base de datos no se puede mover a su estado anterior. La declaración COMMIT se usa solo cuando la transacción es completamente exitosa.
- Cuando finaliza la transacción, se utiliza la instrucción COMMIT.
- La declaración de transacción actual se vuelve permanente y visible para todos los usuarios que usan el comando COMMIT.
- Se utiliza una instrucción COMMIT para guardar los cambios en la transacción actual de forma permanente.