SlideShare una empresa de Scribd logo
1 de 10
TRANSACCIONESEN TRANSACT SQL
Una transacción es un conjunto de operaciones Transact SQL que se ejecutan como un único
bloque,esdecir,si fallaunaoperación TransactSQL fallantodas.Si unatransaccióntiene éxito,
todas las modificaciones de los datos realizadas durante la transacción se confirman y se
conviertenenunaparte permanente de labase de datos.Si una transacciónencuentraerrores
y debe cancelarse o revertirse, se borran todas las modificaciones de los datos.
El ejemploclásicode transacciónesunatransferenciabancaria,enlaque quitamossaldoa una
cuentay loañadimosenotra. Si no somoscapaces de abonarel dineroenla cuentade destino,
no debemos quitarlo de la cuenta de origen.
SQL Serverfuncionapordefectocon Transaccionesdeconfirmaciónautomática, esdecir,cada
instrucción individual es una transacción y se confirma automáticamente.
Sobre el ejemploanteriorde latransferenciabancaria, unscriptdeberíarealizaralgoparecidoa
lo siguiente:
Esta formade actuar seriaerrónea,yaque cadainstrucciónse ejecutaríayconfirmaríade forma
independiente, por lo que un error dejaría los datos erróneos en la base de datos (¡yese es el
peor error que nos podemos encontrar!)
2.6.1 Transacciones implícitasy explicitas
Para agrupar variassentencias Transact SQL en unaúnica transacción,disponemosde los
siguientesmétodos:
 Transaccionesexplícitas. Cadatransacciónse iniciaexplícitamenteconlainstrucción BEGIN
TRANSACTION y se termina explícitamente con una instrucción COMMIT o ROLLBACK.
 Transacciones implícitas. Se inicia automáticamente una nueva transacción cuando se
ejecuta una instrucción que realiza modificaciones en los datos, pero cada transacción se
completa explícitamente con una instrucción COMMIT o ROLLBACK.
Para activar-desactivarel modode transaccionesimplícitasdebemosejecutarlasiguiente
instrucción.
Cuando la opción ANSI_DEFAULTS está establecida en ON, IMPLICIT_TRANSACTIONS también
se establece en ON.
El siguiente ejemplo muestra el script anterior haciendo uso de transacciones explicitas.
El siguienteejemplomuestrael mismoscriptcon transaccionesimplícitas:
La transacciónsigue activahasta que emitaunainstrucción COMMITo ROLLBACK. Una vezque
la primera transacción se ha confirmado o revertido, se inicia automáticamente una nueva
transacción la siguiente vez que la conexión ejecuta una instrucción para modificar datos.
La conexión continúa generando transacciones implícitas hasta que se desactiva el modo de
transacciones implícitas.
Podemos verificar el número de transacciones activas a través de @@TRANCOUNT.
Otro punto a teneren cuentacuando trabajamoscon transaccionessonlos bloqueosyel nivel
de aislamiento.
2.6.2 Transacciones anidadas.
Podemos anidar varias transacciones. Cuando anidamos varias transacciones la instrucción
COMMIT afectará a la última transacción abierta, pero ROLLBACK afectará a todas las
transacciones abiertas.
Un hecho a tener en cuenta, es que, si hacemos ROLLBACK de la transacción superior se
desharán también los cambiosde todas las transaccionesinternas, aunque hayamos realizado
COMMIT de ellas.
Una consideración a tener en cuanta cuando trabajamos con transacciones anidadas es la
posibilidad de utilizar puntos de guardado o SAVEPOINTs.
2.6.3 Puntos de recuperación(SavePoint).
Los puntos de recuperación (SavePoints) permiten manejar las transacciones por pasos,
pudiendohacerrollbackshastaunpuntomarcadoporel savepointynoportodalatransacción.
El siguiente ejemplo muestra cómo trabajar con puntos de recuperación.
Características
Las instrucciones básicas de SQL son insertar, consultar, modificar, y eliminar.
En las transacciones existen cuatro características básicas:
Atomicidad: Es la propiedad que asegura que las operacionesse han realizado o no, se realiza
el commit para confirmar o el rollback para deshacer
Consistencia:Es la propiedadque aseguraque soloaquelloque empiezase puede acabar, por
lo tanto se ejecutan solo las operaciones que no vayan a romper las reglas y directrices de
integridad en la base de datos
Aislamiento: Es la propiedad que asegura que una operación no puede afectar a otras. Esto
asegura que la realización de dos transacciones sobre la misma información sean
independientes y no generen ningún tipo de error
Durabilidad:Es la propiedadque aseguraque unavezrealizadalaoperaciónestapersistiráyno
se podrá deshacer aunque falle el sistema
BeginTransaction
Insert
Update
Delete
If Error
Rollback
Else
Commit
Datos importantespara teneren cuenta
 Las transacciones permiten agrupar pasos físicos cuando se realizan modificaciones en las
bases de datos.
 En las transacciones se consolidan con dos instrucciones básicas
COMMIT: Es la confirmaciónde latransacción para la modificaciónde losdatosde labase de
datos
ROLLBACK: Es la que anulacualquiermodificaciónrealizadaalabase de datos.
2.6.4 Ejercicio de transacciones
Ingrese al Servidormedianteel ManagamentStudio.
Cree una base de datos llamada Ventas, dentro de ella una tabla llamada Ventas igualmente,
observe la imagen para ver mejor el diseño.
Ubíquese enestatabla y de clicen laopciónde .
Esto nosllevaa lasiguiente pantalla.
Digitamoslasiguienteinstrucción:
Primeroprocedemosaseleccionarlainformaciónde latablaventas
y damos clickenejecutar locual nospermite verla
siguiente información
Luegoejecutamosloscomandosde latransacción.
Empezamosporejecutar y nosmuestrala siguiente información.
Luegoejecutamosel update.
Como podemosvertenemos1filaafectadasi deseamosconfirmarlaoperaciónseleccionamos
la instrucción COMMIT, y ejecutamos la instrucción.
Si no deseamosrealizarel cambio
Debemosseleccionarlainstrucción ROLLBACKy ejecutarla.
Lo que revierte loscambiosrealizados.

Más contenido relacionado

La actualidad más candente

Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datosJose O- Vera
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transaccionesmelasa7
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acidJefer Lee Parra
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acidJefer Lee Parra
 
GESTION DE TRANSACCIONES
GESTION DE TRANSACCIONESGESTION DE TRANSACCIONES
GESTION DE TRANSACCIONESIsrael Cueva
 
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 integridadAngel Sanchez Virgen
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 
Transacciones
TransaccionesTransacciones
Transaccionesemnero
 
CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20majitoer
 
Diseño & Procesamiento de transacciones
Diseño & Procesamiento de transaccionesDiseño & Procesamiento de transacciones
Diseño & Procesamiento de transaccionesBlanca Parra
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasJuan Anaya
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOjuan
 

La actualidad más candente (20)

Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datos
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Transaccion
TransaccionTransaccion
Transaccion
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
 
Transacciones y errores en mysql
Transacciones y errores en mysqlTransacciones y errores en mysql
Transacciones y errores en mysql
 
Consistencia
ConsistenciaConsistencia
Consistencia
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
 
GESTION DE TRANSACCIONES
GESTION DE TRANSACCIONESGESTION DE TRANSACCIONES
GESTION 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, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20CUESTIONES DEL CAPITULO 20
CUESTIONES DEL CAPITULO 20
 
Diseño & Procesamiento de transacciones
Diseño & Procesamiento de transaccionesDiseño & Procesamiento de transacciones
Diseño & Procesamiento de transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrencias
 
RECICLAJE
RECICLAJERECICLAJE
RECICLAJE
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
 

Destacado

Creacion De Una Bd en My Sql
Creacion De Una Bd en My SqlCreacion De Una Bd en My Sql
Creacion De Una Bd en My SqlZiscko
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenadoselylupita
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañanaANilez Solrak
 
TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN  TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN Lizeth Bernabe
 
Método SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datosMétodo SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datosSebastian Rodriguez Robotham
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCarlos Pereda Miñano
 
1. realizacion de tareas administrativas
1.  realizacion de tareas administrativas1.  realizacion de tareas administrativas
1. realizacion de tareas administrativasNestor Lopez
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosiluijo
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosVane Borjas
 
Ejercicios De Sql (actualizado)
Ejercicios De Sql (actualizado)Ejercicios De Sql (actualizado)
Ejercicios De Sql (actualizado)capver digital
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql serverIsabel_Samir
 

Destacado (15)

1. realizacion de tareas administrativas
1.  realizacion de tareas administrativas1.  realizacion de tareas administrativas
1. realizacion de tareas administrativas
 
Creacion De Una Bd en My Sql
Creacion De Una Bd en My SqlCreacion De Una Bd en My Sql
Creacion De Una Bd en My Sql
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN  TECNOLOGÍAS DE LA INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN
 
Método SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datosMétodo SQL para comprimir archivos de carga de datos
Método SQL para comprimir archivos de carga de datos
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos Almacenados
 
1. realizacion de tareas administrativas
1.  realizacion de tareas administrativas1.  realizacion de tareas administrativas
1. realizacion de tareas administrativas
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datos
 
Ejercicios De Sql (actualizado)
Ejercicios De Sql (actualizado)Ejercicios De Sql (actualizado)
Ejercicios De Sql (actualizado)
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
Administración y programación en sql server
Administración y programación en sql serverAdministración y programación en sql server
Administración y programación en sql server
 

Similar a Transacciones SQL (20)

Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Transacciones
Transacciones Transacciones
Transacciones
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
Manejo de transaccones
Manejo de transacconesManejo de transaccones
Manejo de transaccones
 
Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptx
 
Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20Cuestiones de Repaso Capitulo 20
Cuestiones de Repaso Capitulo 20
 
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.
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Tarea
TareaTarea
Tarea
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 

Último

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 

Último (20)

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 

Transacciones SQL

  • 1. TRANSACCIONESEN TRANSACT SQL Una transacción es un conjunto de operaciones Transact SQL que se ejecutan como un único bloque,esdecir,si fallaunaoperación TransactSQL fallantodas.Si unatransaccióntiene éxito, todas las modificaciones de los datos realizadas durante la transacción se confirman y se conviertenenunaparte permanente de labase de datos.Si una transacciónencuentraerrores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. El ejemploclásicode transacciónesunatransferenciabancaria,enlaque quitamossaldoa una cuentay loañadimosenotra. Si no somoscapaces de abonarel dineroenla cuentade destino, no debemos quitarlo de la cuenta de origen. SQL Serverfuncionapordefectocon Transaccionesdeconfirmaciónautomática, esdecir,cada instrucción individual es una transacción y se confirma automáticamente. Sobre el ejemploanteriorde latransferenciabancaria, unscriptdeberíarealizaralgoparecidoa lo siguiente:
  • 2. Esta formade actuar seriaerrónea,yaque cadainstrucciónse ejecutaríayconfirmaríade forma independiente, por lo que un error dejaría los datos erróneos en la base de datos (¡yese es el peor error que nos podemos encontrar!) 2.6.1 Transacciones implícitasy explicitas Para agrupar variassentencias Transact SQL en unaúnica transacción,disponemosde los siguientesmétodos:  Transaccionesexplícitas. Cadatransacciónse iniciaexplícitamenteconlainstrucción BEGIN TRANSACTION y se termina explícitamente con una instrucción COMMIT o ROLLBACK.  Transacciones implícitas. Se inicia automáticamente una nueva transacción cuando se ejecuta una instrucción que realiza modificaciones en los datos, pero cada transacción se completa explícitamente con una instrucción COMMIT o ROLLBACK. Para activar-desactivarel modode transaccionesimplícitasdebemosejecutarlasiguiente instrucción. Cuando la opción ANSI_DEFAULTS está establecida en ON, IMPLICIT_TRANSACTIONS también se establece en ON. El siguiente ejemplo muestra el script anterior haciendo uso de transacciones explicitas.
  • 3.
  • 5. La transacciónsigue activahasta que emitaunainstrucción COMMITo ROLLBACK. Una vezque la primera transacción se ha confirmado o revertido, se inicia automáticamente una nueva transacción la siguiente vez que la conexión ejecuta una instrucción para modificar datos. La conexión continúa generando transacciones implícitas hasta que se desactiva el modo de transacciones implícitas. Podemos verificar el número de transacciones activas a través de @@TRANCOUNT. Otro punto a teneren cuentacuando trabajamoscon transaccionessonlos bloqueosyel nivel de aislamiento. 2.6.2 Transacciones anidadas.
  • 6. Podemos anidar varias transacciones. Cuando anidamos varias transacciones la instrucción COMMIT afectará a la última transacción abierta, pero ROLLBACK afectará a todas las transacciones abiertas. Un hecho a tener en cuenta, es que, si hacemos ROLLBACK de la transacción superior se desharán también los cambiosde todas las transaccionesinternas, aunque hayamos realizado COMMIT de ellas. Una consideración a tener en cuanta cuando trabajamos con transacciones anidadas es la posibilidad de utilizar puntos de guardado o SAVEPOINTs. 2.6.3 Puntos de recuperación(SavePoint). Los puntos de recuperación (SavePoints) permiten manejar las transacciones por pasos, pudiendohacerrollbackshastaunpuntomarcadoporel savepointynoportodalatransacción. El siguiente ejemplo muestra cómo trabajar con puntos de recuperación.
  • 7. Características Las instrucciones básicas de SQL son insertar, consultar, modificar, y eliminar. En las transacciones existen cuatro características básicas: Atomicidad: Es la propiedad que asegura que las operacionesse han realizado o no, se realiza el commit para confirmar o el rollback para deshacer Consistencia:Es la propiedadque aseguraque soloaquelloque empiezase puede acabar, por lo tanto se ejecutan solo las operaciones que no vayan a romper las reglas y directrices de integridad en la base de datos Aislamiento: Es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error Durabilidad:Es la propiedadque aseguraque unavezrealizadalaoperaciónestapersistiráyno se podrá deshacer aunque falle el sistema BeginTransaction Insert Update Delete If Error Rollback Else Commit
  • 8. Datos importantespara teneren cuenta  Las transacciones permiten agrupar pasos físicos cuando se realizan modificaciones en las bases de datos.  En las transacciones se consolidan con dos instrucciones básicas COMMIT: Es la confirmaciónde latransacción para la modificaciónde losdatosde labase de datos ROLLBACK: Es la que anulacualquiermodificaciónrealizadaalabase de datos. 2.6.4 Ejercicio de transacciones Ingrese al Servidormedianteel ManagamentStudio. Cree una base de datos llamada Ventas, dentro de ella una tabla llamada Ventas igualmente, observe la imagen para ver mejor el diseño. Ubíquese enestatabla y de clicen laopciónde . Esto nosllevaa lasiguiente pantalla.
  • 9. Digitamoslasiguienteinstrucción: Primeroprocedemosaseleccionarlainformaciónde latablaventas y damos clickenejecutar locual nospermite verla siguiente información Luegoejecutamosloscomandosde latransacción. Empezamosporejecutar y nosmuestrala siguiente información. Luegoejecutamosel update.
  • 10. Como podemosvertenemos1filaafectadasi deseamosconfirmarlaoperaciónseleccionamos la instrucción COMMIT, y ejecutamos la instrucción. Si no deseamosrealizarel cambio Debemosseleccionarlainstrucción ROLLBACKy ejecutarla. Lo que revierte loscambiosrealizados.