1.-En las transacciones de recuperación se accede a los datos para visualizarlos en la pantalla a modo de informe.2.-En las transacciones de actualización se insertan, borran o actualizan datos de la base de datos.3.-En las transacciones mixtas se mezclan operaciones de recuperación de datos y de actualización.
Slide 3
COMMIT
En el contexto de la Ciencia de la computación y la gestión de datos, commit(acción de comprometer) se refiere a la idea de consignar un conjunto de cambios "tentativos, o no permanentes". Un uso popular es al final de una transacción de base de datos.Una sentencia COMMIT en SQL finaliza una transcción de base de datos dentro de un sistema gestor de base de datos relacional (RDBMS) y pone visibles todos los cambios a otros usuarios. El formato general es emitir una sentencia BEGIN WORK, una o más sentencias SQL, y entonces la sentencia COMMIT.
Slide 4
Alternativamente, una sentenciaROLLBACK se puede emitir, la cual deshace todo el trabajo realizado desde que se emitió BEGIN WORK. Una sentencia COMMIT publicará cualquiera de los savepoints (puntos de recuperación) existentes que puedan estar en uso.
Slide 5
COMMIT [ { TRAN | TRANSACTION } [ transaction_name | @tran_name_variable ] ] [ WITH ( DELAYED_DURABILITY = { OFF | ON } ) ] [ ; ]
SINTAXIS COMMINT
Slide 6
EJEMPLO COMMINT
USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
DELETE FROM HumanResources.JobCandidate
WHERE JobCandidateID = 13;
GO
COMMIT TRANSACTION; GO
Slide 7
ROLLBACK
En tecnologías de base de datos, un rollback es una operación que devuelve a la base de datos a algún estado previo. Los Rollbacks son importantes para la integridad de la base de datos, a causa de que significan que la base de datos puede ser restaurada a una copia limpia incluso después de que se han realizado operaciones erróneas.
Slide 8
Revierte una transacción explícita o implícita hasta el inicio de la transacción o hasta un punto de retorno dentro de la transacción. Puede usar ROLLBACK TRANSACTION para borrar todas las modificaciones de datos realizadas desde el inicio de la transacción o hasta un punto de retorno.También libera los recursos que mantiene la transacción.
USE tempdb;
GO
CREATE TABLE ValueTable ([value] int;)
GO
DECLARE @TransactionName varchar(20) = 'Transaction1';
--The following statements start a named transaction,
--insert two rows, and then roll back
--the transaction named in the variable @TransactionName.
--Another statement outside of the named transaction inserts two rows.
BEGIN TRAN @TransactionName
INSERT INTO ValueTable VALUES(1), (2);
ROLLBACK TRAN @TransactionName;
INSERT INTO ValueTable VALUES(3),(4);
SELECT [value] FROM ValueTable;
DROP TABLE ValueTable;
--Results
--value
-------------
--3 --4
Slide 11
Un savepoint puede estar declarado emitiendo una sentencia SAVEPOINT name. Todos los cambios realizados después de un savepoint han sido declarados que pueden ser deshechos emitiendo un comando ROLLBACK TO SAVEPOINT name command. Emitiendo RELEASE SAVEPOINT name causará que el savepoint concreto sea descartado, pero no afectará a nada más. Emitiendo los comandos ROLLBACK o COMMIT también descartará cualesquiera savepoints creados desde el inicio de la transacción principal.
USE AdventureWorks2012;
GO
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
GO
BEGIN TRANSACTION;
GO
SELECT *
FROM HumanResources.EmployeePayHistory;
GO
SELECT *
FROM HumanResources.Department;
GO
COMMIT TRANSACTION; GO