Tinciones simples en el laboratorio de microbiología
Manejo de transaccones
1.
2. •
Una transacción es un conjunto de
operaciones Transact SQL que se ejecutan como
un único bloque, es decir, si falla una
operación Transact SQL fallan todas. Si una
transacción tiene éxito, todas las modificaciones
de los datos realizadas durante la transacción se
confirman y se convierten en una parte
permanente de la base de datos. Si una
transacción encuentra errores y debe cancelarse
o revertirse, se borran todas las modificaciones
de los datos.
3. • Tenemos dos tipos de transacciones en SQL
Server, las implícitas y las explicitas.
• Las implícitas son aquellas que no debemos
indicarle al SQL que hacemos una transacción
pero el lo genera, por ejemplo como el
siguiente caso.
• DELETE FROM CLIENTES WHERE PAIS =
'ARGENTINA'
4. • Las transacciones explicitas son aquellas que
nosotros indicamos con la sentencia Begin
Transaction / Commit o Rollback Transaction.
• BEGIN TRANSACTION INSERT INTO
EMPLEADOS (ID, NOMBRE) VALUES
(1,'CONDUIT') DELETE FROM AUDITORIA
WHERE EMPLEADO = 1 COMMIT TRAN
5. ¿Como funciona el Commit y Rollback?
• El commit es el que confirmara la transacción y el
rollback es el que la deshará, pero aquí hay algunos
detalles muy importantes en su comportamiento
cuando usamos transacciones anidadas.
• Primero veamos un ejemplo simple
• CREATE TABLE #T1 (ID INT, NOMBRE VARCHAR(50)) GO
CREATE TABLE #T2 (ID INT, FECHA DATETIME NOT
NULL) GO BEGIN TRY BEGIN TRAN INSERT INTO #T1
VALUES (1,'CONDUIT') INSERT INTO #T1 VALUES
(1,GETDATE()) COMMIT TRAN END TRY BEGIN CATCH
ROLLBACK TRAN SELECT @@ERROR END CATCH