SlideShare una empresa de Scribd logo
1 de 10
TRANSACCIONES
DEFINICIÓN
Es una unidad única de trabajo. 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.
PROPIEDADES
 Atomicidad: Las operaciones que componen una transacción deben
considerarse como una sola.
 Consistencia: Una operación nunca deberá dejar datos inconsistentes. Una
transacción es una unidad de integridad porque mantiene la coherencia de los
datos, transformando un estado coherente de datos en otro estado de datos
igualmente coherente.
 Aislamiento: Los datos "sucios" deben estar aislados, y evitar que los usuarios
utilicen información que aún no está confirmada o validada. El aislamiento
requiere que parezca que cada transacción sea la única que manipula el
almacén de datos, aunque se puedan estar ejecutando otras transacciones al
mismo tiempo. Una transacción nunca debe ver las fases intermedias de otra
transacción.
 Durabilidad: Una vez completada la transacción los datos actualizados ya serán
permanentes y confirmados. Si una transacción se realiza satisfactoriamente, el
sistema garantiza que sus actualizaciones se mantienen, aunque el equipo falle
inmediatamente después de la confirmación.
TIPOS DE TRANSACCIONES
 De Confirmación Automática: El Gestor de Datos inicia una transacción
automáticamente por cada operación que actualice datos. De este modo mantiene
siempre la consistencia de la base de datos, aunque puede generar bloqueos.
 Implícitas: Cuando el Gestor de Datos comienza una transacción automáticamente
cada vez que se produce una actualización de datos, pero el que dicha transacción
se confirme o se deshaga, lo debe indicar el programador.
 Explícitas: Son las que iniciamos nosotros "a mano" mediante instrucciones SQL,
los programadores son los que indican qué operaciones va a abarcar. Cada
transacción se inicia explícitamente con la instrucción BEGIN TRANSACTION y se
termina explícitamente con una instrucción COMMIT o ROLLBACK.
 Transacciones de Ámbito de Lote: Una transacción implícita o explícita de
Transact-SQL que se inicia en una sesión de MARS (conjuntos de resultados
activos múltiples), que solo es aplicable a MARS, se convierte en una transacción
de ámbito de lote. Si no se confirma o revierte una transacción de ámbito de lote
cuando se completa el lote, SQL Server la revierte automáticamente.
COMANDOS
 A. BEGIN TRANSACTION: Marca el punto de inicio de una transacción explícita.
Representa un punto en el que los datos a los que hace referencia una conexión
son lógica y físicamente coherentes. Si se producen errores, se pueden revertir
todas las modificaciones realizadas en los datos después de BEGIN
TRANSACTION para devolver los datos al estado conocido de coherencia.
 B. COMMIT: Marca el final de una transacción explícita o de confirmación
automática. Esta instrucción hace que los cambios en la transacción se
confirmen permanentemente en la base de datos. La instrucción COMMIT es
idéntica a COMMIT WORK, COMMIT TRAN y COMMIT TRANSACTION.
 C. ROLLBACK: Revierte una transacción al principio de la misma. No se
confirman cambios para la transacción en la base de datos. La instrucción
ROLLBACK es idéntica a ROLLBACK WORK, ROLLBACK TRAN y ROLLBACK
TRANSACTION.
EJEMPLO
Trabajaremos con la base de datos Northwind en nuestros ejemplos.
Vamos a realizar una transacción que modifica el precio de dos
productos de la base de datos.
USE NorthWind
DECLARE @Error int
--Declaramos una variable que utilizaremos para almacenar un
posible código de error
BEGIN TRAN
--Iniciamos la transacción
UPDATE Products SET UnitPrice=20 WHERE ProductName ='Chai'
--Ejecutamos la primera sentencia
SET @Error=@@ERROR
--Si ocurre un error almacenamos su código en @Error
--y saltamos al trozo de código que deshara la transacción. Si, eso de
ahí es un
--GOTO, el demonio de los programadores, pero no pasa nada por
usarlo
--cuando es necesario
IF (@Error<>0) GOTO TratarError
--Si la primera sentencia se ejecuta con éxito, pasamos a la segunda
UPDATE Products SET UnitPrice=20 WHERE ProductName='Chang'
SET @Error=@@ERROR
--Y si hay un error hacemos como antes
IF (@Error<>0) GOTO TratarError
--Si llegamos hasta aquí es que los dos UPDATE se han completado
con
--éxito y podemos "guardar" la transacción en la base de datos
COMMIT TRAN
TratarError:
--Si ha ocurrido algún error llegamos hasta aquí
If @@Error<>0 THEN
BEGIN
PRINT 'Ha ecorrido un error. Abortamos la transacción'
--Se lo comunicamos al usuario y deshacemos la transacción
--todo volverá a estar como si nada hubiera ocurrido
ROLLBACK TRAN
END
CONCLUSIONES
 Es difícil imaginar hoy en día la concentración de
información sin base de datos, las pequeñas o grandes
industrias tienen como base de su sistema informático la
construcción de base de datos con la que podemos tener
gran versatilidad con cualquier tipo de equipos.
 La seguridad en las bases de datos es muy importante
debido a que garantiza la integridad física y lógica de los
datos.
Transacciones

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

Tarea
TareaTarea
Tarea
 
Errores
ErroresErrores
Errores
 
Presentación1
Presentación1Presentación1
Presentación1
 
Error y estabilidad
Error y estabilidadError y estabilidad
Error y estabilidad
 
ESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPUESTADOS DE PROCESOS EN UN CPU
ESTADOS DE PROCESOS EN UN CPU
 
Toma de decisiones If Else
Toma de decisiones If ElseToma de decisiones If Else
Toma de decisiones If Else
 
Alexander power point
Alexander power pointAlexander power point
Alexander power point
 
Manejo de transaccones
Manejo de transacconesManejo de transaccones
Manejo de transaccones
 
Prepared Statement
Prepared StatementPrepared Statement
Prepared Statement
 
Algoritmosenpseudocdigo
AlgoritmosenpseudocdigoAlgoritmosenpseudocdigo
Algoritmosenpseudocdigo
 
Algoritmos en pseudocódigo
Algoritmos en pseudocódigoAlgoritmos en pseudocódigo
Algoritmos en pseudocódigo
 
Controlador pid
Controlador pidControlador pid
Controlador pid
 

Similar a Transacciones

Similar a Transacciones (20)

TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transaccion
TransaccionTransaccion
Transaccion
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
Tarea
TareaTarea
Tarea
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transaccion
TransaccionTransaccion
Transaccion
 
Diseño & Procesamiento de transacciones
Diseño & Procesamiento de transaccionesDiseño & Procesamiento de transacciones
Diseño & Procesamiento de transacciones
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.
 

Más de Magaly Portocarrero Labajos (16)

Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Administracion de la seguridad
Administracion de la seguridadAdministracion de la seguridad
Administracion de la seguridad
 
Trigger - Activadores
Trigger - ActivadoresTrigger - Activadores
Trigger - Activadores
 
Cursores
CursoresCursores
Cursores
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Vistas
VistasVistas
Vistas
 
Comandos DDL
Comandos DDLComandos DDL
Comandos DDL
 
Lenguaje Transact SQL
Lenguaje Transact SQLLenguaje Transact SQL
Lenguaje Transact SQL
 
PreparedStatement
PreparedStatementPreparedStatement
PreparedStatement
 
J table con base de datos
J table con base de datosJ table con base de datos
J table con base de datos
 
Resulset
Resulset Resulset
Resulset
 
Dispositivas de la clase statement
Dispositivas de la clase statementDispositivas de la clase statement
Dispositivas de la clase statement
 
CONNECTION
CONNECTIONCONNECTION
CONNECTION
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Diapositiva java
Diapositiva javaDiapositiva java
Diapositiva java
 
Diapositivas del jdbc magaly y duyen
Diapositivas del jdbc magaly y duyenDiapositivas del jdbc magaly y duyen
Diapositivas del jdbc magaly y duyen
 

Último

libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfMiguelArango21
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJOJimyAMoran
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 

Último (20)

libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 

Transacciones

  • 2. DEFINICIÓN Es una unidad única de trabajo. 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. PROPIEDADES  Atomicidad: Las operaciones que componen una transacción deben considerarse como una sola.  Consistencia: Una operación nunca deberá dejar datos inconsistentes. Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente.  Aislamiento: Los datos "sucios" deben estar aislados, y evitar que los usuarios utilicen información que aún no está confirmada o validada. El aislamiento requiere que parezca que cada transacción sea la única que manipula el almacén de datos, aunque se puedan estar ejecutando otras transacciones al mismo tiempo. Una transacción nunca debe ver las fases intermedias de otra transacción.  Durabilidad: Una vez completada la transacción los datos actualizados ya serán permanentes y confirmados. Si una transacción se realiza satisfactoriamente, el sistema garantiza que sus actualizaciones se mantienen, aunque el equipo falle inmediatamente después de la confirmación.
  • 4. TIPOS DE TRANSACCIONES  De Confirmación Automática: El Gestor de Datos inicia una transacción automáticamente por cada operación que actualice datos. De este modo mantiene siempre la consistencia de la base de datos, aunque puede generar bloqueos.  Implícitas: Cuando el Gestor de Datos comienza una transacción automáticamente cada vez que se produce una actualización de datos, pero el que dicha transacción se confirme o se deshaga, lo debe indicar el programador.  Explícitas: Son las que iniciamos nosotros "a mano" mediante instrucciones SQL, los programadores son los que indican qué operaciones va a abarcar. Cada transacción se inicia explícitamente con la instrucción BEGIN TRANSACTION y se termina explícitamente con una instrucción COMMIT o ROLLBACK.  Transacciones de Ámbito de Lote: Una transacción implícita o explícita de Transact-SQL que se inicia en una sesión de MARS (conjuntos de resultados activos múltiples), que solo es aplicable a MARS, se convierte en una transacción de ámbito de lote. Si no se confirma o revierte una transacción de ámbito de lote cuando se completa el lote, SQL Server la revierte automáticamente.
  • 5. COMANDOS  A. BEGIN TRANSACTION: Marca el punto de inicio de una transacción explícita. Representa un punto en el que los datos a los que hace referencia una conexión son lógica y físicamente coherentes. Si se producen errores, se pueden revertir todas las modificaciones realizadas en los datos después de BEGIN TRANSACTION para devolver los datos al estado conocido de coherencia.  B. COMMIT: Marca el final de una transacción explícita o de confirmación automática. Esta instrucción hace que los cambios en la transacción se confirmen permanentemente en la base de datos. La instrucción COMMIT es idéntica a COMMIT WORK, COMMIT TRAN y COMMIT TRANSACTION.  C. ROLLBACK: Revierte una transacción al principio de la misma. No se confirman cambios para la transacción en la base de datos. La instrucción ROLLBACK es idéntica a ROLLBACK WORK, ROLLBACK TRAN y ROLLBACK TRANSACTION.
  • 6. EJEMPLO Trabajaremos con la base de datos Northwind en nuestros ejemplos. Vamos a realizar una transacción que modifica el precio de dos productos de la base de datos. USE NorthWind DECLARE @Error int --Declaramos una variable que utilizaremos para almacenar un posible código de error BEGIN TRAN --Iniciamos la transacción UPDATE Products SET UnitPrice=20 WHERE ProductName ='Chai'
  • 7. --Ejecutamos la primera sentencia SET @Error=@@ERROR --Si ocurre un error almacenamos su código en @Error --y saltamos al trozo de código que deshara la transacción. Si, eso de ahí es un --GOTO, el demonio de los programadores, pero no pasa nada por usarlo --cuando es necesario IF (@Error<>0) GOTO TratarError --Si la primera sentencia se ejecuta con éxito, pasamos a la segunda UPDATE Products SET UnitPrice=20 WHERE ProductName='Chang' SET @Error=@@ERROR --Y si hay un error hacemos como antes IF (@Error<>0) GOTO TratarError --Si llegamos hasta aquí es que los dos UPDATE se han completado con --éxito y podemos "guardar" la transacción en la base de datos COMMIT TRAN
  • 8. TratarError: --Si ha ocurrido algún error llegamos hasta aquí If @@Error<>0 THEN BEGIN PRINT 'Ha ecorrido un error. Abortamos la transacción' --Se lo comunicamos al usuario y deshacemos la transacción --todo volverá a estar como si nada hubiera ocurrido ROLLBACK TRAN END
  • 9. CONCLUSIONES  Es difícil imaginar hoy en día la concentración de información sin base de datos, las pequeñas o grandes industrias tienen como base de su sistema informático la construcción de base de datos con la que podemos tener gran versatilidad con cualquier tipo de equipos.  La seguridad en las bases de datos es muy importante debido a que garantiza la integridad física y lógica de los datos.