SlideShare una empresa de Scribd logo
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.
Transacciones en transact sql
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

DOCX
Transacciones en MySQL
PPT
Transaccion
PPTX
Transacciones base de datos
PPTX
Administración de Transacciones - del tema 1 al 4
DOCX
Transacciones en mysql
PPTX
Transacciones
DOCX
Ejemplos acid
PPTX
Transacciones y manejo de errores en mysql
Transacciones en MySQL
Transaccion
Transacciones base de datos
Administración de Transacciones - del tema 1 al 4
Transacciones en mysql
Transacciones
Ejemplos acid
Transacciones y manejo de errores en mysql

La actualidad más candente (20)

PPTX
Trabajo 2 transacciones en base de datos
PPTX
TRANSACCIONES
DOCX
Transaccion
PPTX
Transacciones en SQL SERVER
PPTX
Gestion de transacciones
PPTX
Base de datos propiedades acid
PPTX
Transacciones y errores en mysql
PPTX
Consistencia
PPTX
Base de datos propiedades acid
PPT
GESTION DE TRANSACCIONES
DOCX
Consistencia es un término más amplio que el de integridad
PPTX
Administración de transacciones, problemas, candados e interbloqueos
PPT
Transacciones
PPT
CUESTIONES DEL CAPITULO 20
PPTX
Diseño & Procesamiento de transacciones
PDF
Transacciones
DOCX
control de concurrencia
DOCX
Inv 1 algoritmos de control de concurrencias
PPTX
RECICLAJE
PPT
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
Trabajo 2 transacciones en base de datos
TRANSACCIONES
Transaccion
Transacciones en SQL SERVER
Gestion de transacciones
Base de datos propiedades acid
Transacciones y errores en mysql
Consistencia
Base de datos propiedades acid
GESTION DE TRANSACCIONES
Consistencia es un término más amplio que el de integridad
Administración de transacciones, problemas, candados e interbloqueos
Transacciones
CUESTIONES DEL CAPITULO 20
Diseño & Procesamiento de transacciones
Transacciones
control de concurrencia
Inv 1 algoritmos de control de concurrencias
RECICLAJE
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
Publicidad

Destacado (15)

PPT
1. realizacion de tareas administrativas
PPT
Creacion De Una Bd en My Sql
PPTX
Procesamientos Almacenados
DOCX
Procedimientos almacenados..mañana
PPTX
TECNOLOGÍAS DE LA INFORMACIÓN
PDF
Método SQL para comprimir archivos de carga de datos
PPT
Categorias de Procedimientos Almacenados
PDF
1. realizacion de tareas administrativas
PPTX
Procedimientos Almacenados
PDF
Procedimientos almacenados en MySQL
DOC
Sql procedimientos-almacenados
PPTX
Ejemplo LOGIN conectado a una base de datos
DOC
Ejercicios De Sql (actualizado)
PDF
Ejercicios resueltos de sql
PPT
Administración y programación en sql server
1. realizacion de tareas administrativas
Creacion De Una Bd en My Sql
Procesamientos Almacenados
Procedimientos almacenados..mañana
TECNOLOGÍAS DE LA INFORMACIÓN
Método SQL para comprimir archivos de carga de datos
Categorias de Procedimientos Almacenados
1. realizacion de tareas administrativas
Procedimientos Almacenados
Procedimientos almacenados en MySQL
Sql procedimientos-almacenados
Ejemplo LOGIN conectado a una base de datos
Ejercicios De Sql (actualizado)
Ejercicios resueltos de sql
Administración y programación en sql server
Publicidad

Similar a Transacciones en transact sql (20)

PPTX
PPTX
PPTX
Transacciones
PPTX
Transacciones
PPTX
PPTX
Manejo de transaccones
PPTX
Transacciones
PPTX
Transacciones y bloqueos usando base de datos mysql
PPTX
Transaciones en mysql
PPT
Gestion de transacciones "Investigación"
PPTX
Manipulacion de Datos SQL cap10
PDF
Desarrollo de Aplicaciones Web II - Sesión 07: Transacciones
PPTX
PPTX
Transacciones
PPTX
Lenguaje Transact sql
DOCX
Concepto de transacciones
PPTX
DOCX
trabajo 5
Transacciones
Transacciones
Manejo de transaccones
Transacciones
Transacciones y bloqueos usando base de datos mysql
Transaciones en mysql
Gestion de transacciones "Investigación"
Manipulacion de Datos SQL cap10
Desarrollo de Aplicaciones Web II - Sesión 07: Transacciones
Transacciones
Lenguaje Transact sql
Concepto de transacciones
trabajo 5

Último (20)

PDF
Escuelas Desarmando una mirada subjetiva a la educación
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Escuela Sabática 6. A través del Mar Rojo.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
PDF
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
DOCX
Tarea De El Colegio Coding For Kids 1 y 2
PPT
Cosacos y hombres del Este en el Heer.ppt
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Escuelas Desarmando una mirada subjetiva a la educación
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Escuela Sabática 6. A través del Mar Rojo.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Breve historia de los Incas -- Patricia Temoche [Temoche, Patricia] -- Breve ...
benveniste-problemas-de-linguistica-general-i-cap-6 (1)_compressed.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Tarea De El Colegio Coding For Kids 1 y 2
Cosacos y hombres del Este en el Heer.ppt
Punto Critico - Brian Tracy Ccesa007.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf

Transacciones en transact 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.
  • 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.