Base de datos

Páginas: 3 (612 palabras) Publicado: 14 de octubre de 2010
¿Porque usamos transacciones?
Usamos transacciones para poder asegurar integridad de una operación, si por ejemplo necesitamos guardar una factura y esta se compone de Cabecera y Detalle no sedebería guardar si hubo algún error en el detalle.
También podríamos mencionar otros ejemplos, donde se necesitan hacer mas de una operación y de fallar alguna no aplicar nada.
Tenemos dos tipos detransacciones en SQL Server, las implícitas y las explicitas.
Las primeras 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 DISCO
WHERE DISCO = 'METALLICA'
Aquí se ejecutara el delete para todos los discos que cumplan la condición de Metallica, si hay un error al intentar borrar un disco se hará unrollback y no se borrara ninguno, esto se debe a que el delete al igual que el insert y update internamente arman una transacción.
Las transacciones explicitas son aquellas que nosotros indicamos con lasentencia Begin Transaction / Commit o Rollback Transaction.

BEGIN TRANSACTION
INSERT INTO EMPLEADOS (ID, NOMBRE)
VALUES (1,'CONDUIT')

DELETE FROM EMPLEADO
WHEREEMPLEADO = 1
COMMIT TRAN

¿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 sucomportamiento 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)
GOBEGIN 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
ENDCATCH

En el ejemplo básicamente hacemos dos insert y si hay algún error entramos en la sección del Catch y lo primero que hacemos es el rollback para luego mostrar el error.
Este es un simple...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Que es una base de datos y tipos de base de datos
  • Bases de datos y usuarios de bases de datos
  • Base De Datos
  • Base De Datos
  • Base de datos
  • Base De Datos
  • Base de datos
  • Bases de datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS