SlideShare una empresa de Scribd logo
1 de 7
TSU. Alberto Rodríguez Vargas
ING.    Tecnologías     de    la
Información y Comunicación
8vo Cuatrimestre.
Bases     de     Datos     para
Aplicaciones

                                   TRANSACCIONES
                                          Y
                                      MANEJO DE
                                     ERRORES EN
                                        MYSQL
Hay situaciones en las que necesitamos hacer mas de una consulta
al mismo tiempo y todas tienen que ser correctas para que los datos
sean consistentes y tengan sentido, de otro modo habría información
colgada y desvinculada. En el mayor de los casos esto provocaría
desperdicio de espacio en la base de datos o lo mas probable es
que cause errores a la hora de a la hora de ejecutarse.
Pasos para usar una transacción

1. La transacción se inicia con la sentencia BEGIN.
2. Sentencias que actualizan, insertan, o eliminan datos en la base de
   datos.
3. Si se confirman los cambios a la base de datos se hace mediante la
   sentencia COMMIT. Únicamente cuando esta sentencia es procesada
   por mysql los cambios en la base de datos son modificados
   permanentemente.
4. Si sucede algun error en la transacción, se puede hacer uso de la
   sentencia ROLLBACK, para deshacer los cambios que han sido
   realizados en las consultas ejecutadas.
MANEJO DE ERRORES EN
       MYSQL
La sentencia DECLARE…HANDLER especifica un controlador que se
ocupa de una o mas condiciones. Si una de estas condiciones
ocurre, se ejecuta el comando especificado que puede ser una
simple sentencia como SET var_name=value o una sentencia
compuesta usando BEGIN Y END.

                       ACCIONES HANDLER
CONTINUE: Continua la ejecución del programa actual.

EXIT: Termina la ejecución del BEGIN…END compuesto de sentencias
en los cuales el handler o controlador es declarado. Esto es
verdadero incluso si la condición ocurre en un bloque interno.

UNDO: No soportado, pero es lo mismo que la sentencia ROLLBACK.
EJEMPLO
CREATE PROCEDURE p ()
BEGIN
DECLARE i INT DEFAULT 3;
retry:
REPEAT
BEGIN
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
ITERATE retry; # illegal
END;
IF i < 0 THEN
LEAVE retry; # legal
END IF;
SET i = i - 1;
END;
UNTIL FALSE END REPEAT;
END;
El alcance de un bloque de etiquetas no incluye el código para los
controladores declarados dentro del bloque. Por lo tanto, la
declaración asociada con un controlador no puede utilizar ITERATE o
licencia para referirse a las etiquetas para los bloques que encierran
la declaración del controlador. Considere el ejemplo anterior, donde
el bloque de repetición tiene una etiqueta de reintento.

Más contenido relacionado

La actualidad más candente

Seguridad En Sistemas Distribuidos
Seguridad En Sistemas DistribuidosSeguridad En Sistemas Distribuidos
Seguridad En Sistemas DistribuidosHECTOR JAVIER
 
Transacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlTransacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlVictor Dolores Marcos
 
seguridad de los sistemas operativos
seguridad de los sistemas operativos seguridad de los sistemas operativos
seguridad de los sistemas operativos Carlos Guerrero
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xmlitsl
 
Marcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiMarcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiIshtar Metztli
 
Tabla comparativa entre los protocolos tcp y udp
Tabla comparativa entre los protocolos tcp y udpTabla comparativa entre los protocolos tcp y udp
Tabla comparativa entre los protocolos tcp y udpJosé Alexis Cruz Solar
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Capitulo 10 auditoria en base de datos
Capitulo 10 auditoria en base de datosCapitulo 10 auditoria en base de datos
Capitulo 10 auditoria en base de datosoamz
 
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPTABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPMaraAsuncinMorenoMen
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamientoAlex Yungan
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Supra Networks
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosVicente Alberca
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesKim Sorel Rush
 
Bases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteBases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteGerardo
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 

La actualidad más candente (20)

Seguridad En Sistemas Distribuidos
Seguridad En Sistemas DistribuidosSeguridad En Sistemas Distribuidos
Seguridad En Sistemas Distribuidos
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Transacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlTransacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysql
 
seguridad de los sistemas operativos
seguridad de los sistemas operativos seguridad de los sistemas operativos
seguridad de los sistemas operativos
 
Presentacion xml
Presentacion xmlPresentacion xml
Presentacion xml
 
Marcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de tiMarcos de referencia en la gestión de servicios de ti
Marcos de referencia en la gestión de servicios de ti
 
NoSQL - MongoDB
NoSQL - MongoDBNoSQL - MongoDB
NoSQL - MongoDB
 
Tabla comparativa entre los protocolos tcp y udp
Tabla comparativa entre los protocolos tcp y udpTabla comparativa entre los protocolos tcp y udp
Tabla comparativa entre los protocolos tcp y udp
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Capitulo 10 auditoria en base de datos
Capitulo 10 auditoria en base de datosCapitulo 10 auditoria en base de datos
Capitulo 10 auditoria en base de datos
 
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDPTABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
TABLA COMPARATIVA ENTRE LOS PROTOCOLOS TCP Y UDP
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Origen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redesOrigen del Modelo OSI y su impacto en als estructuras de redes
Origen del Modelo OSI y su impacto en als estructuras de redes
 
Bases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos clienteBases de datos distribuidas y bases de datos cliente
Bases de datos distribuidas y bases de datos cliente
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Tema del 1.1 al 1.2
Tema del 1.1 al 1.2Tema del 1.1 al 1.2
Tema del 1.1 al 1.2
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 

Similar a Transacciones y errores en mysql

Similar a Transacciones y errores en mysql (20)

B.d
B.dB.d
B.d
 
B.d
B.dB.d
B.d
 
Tarea
TareaTarea
Tarea
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Tarea
TareaTarea
Tarea
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
Errores
ErroresErrores
Errores
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Gestion de base de datos
Gestion de base de datosGestion de base de datos
Gestion de base de datos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
SQL Server 2014 Delayed Durability visto desde una aplicación - Alejandro Cor...
SQL Server 2014 Delayed Durability visto desde una aplicación - Alejandro Cor...SQL Server 2014 Delayed Durability visto desde una aplicación - Alejandro Cor...
SQL Server 2014 Delayed Durability visto desde una aplicación - Alejandro Cor...
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracle
 
Transaccion
TransaccionTransaccion
Transaccion
 
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
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
Analisis comparativo de mysql vs oracle
Analisis comparativo de mysql vs oracleAnalisis comparativo de mysql vs oracle
Analisis comparativo de mysql vs oracle
 
Cuestiones de repaso_capitulo_20
Cuestiones de repaso_capitulo_20Cuestiones de repaso_capitulo_20
Cuestiones de repaso_capitulo_20
 
Transacciones
TransaccionesTransacciones
Transacciones
 

Transacciones y errores en mysql

  • 1. TSU. Alberto Rodríguez Vargas ING. Tecnologías de la Información y Comunicación 8vo Cuatrimestre. Bases de Datos para Aplicaciones TRANSACCIONES Y MANEJO DE ERRORES EN MYSQL
  • 2. Hay situaciones en las que necesitamos hacer mas de una consulta al mismo tiempo y todas tienen que ser correctas para que los datos sean consistentes y tengan sentido, de otro modo habría información colgada y desvinculada. En el mayor de los casos esto provocaría desperdicio de espacio en la base de datos o lo mas probable es que cause errores a la hora de a la hora de ejecutarse.
  • 3. Pasos para usar una transacción 1. La transacción se inicia con la sentencia BEGIN. 2. Sentencias que actualizan, insertan, o eliminan datos en la base de datos. 3. Si se confirman los cambios a la base de datos se hace mediante la sentencia COMMIT. Únicamente cuando esta sentencia es procesada por mysql los cambios en la base de datos son modificados permanentemente. 4. Si sucede algun error en la transacción, se puede hacer uso de la sentencia ROLLBACK, para deshacer los cambios que han sido realizados en las consultas ejecutadas.
  • 4. MANEJO DE ERRORES EN MYSQL
  • 5. La sentencia DECLARE…HANDLER especifica un controlador que se ocupa de una o mas condiciones. Si una de estas condiciones ocurre, se ejecuta el comando especificado que puede ser una simple sentencia como SET var_name=value o una sentencia compuesta usando BEGIN Y END. ACCIONES HANDLER CONTINUE: Continua la ejecución del programa actual. EXIT: Termina la ejecución del BEGIN…END compuesto de sentencias en los cuales el handler o controlador es declarado. Esto es verdadero incluso si la condición ocurre en un bloque interno. UNDO: No soportado, pero es lo mismo que la sentencia ROLLBACK.
  • 6. EJEMPLO CREATE PROCEDURE p () BEGIN DECLARE i INT DEFAULT 3; retry: REPEAT BEGIN DECLARE CONTINUE HANDLER FOR SQLWARNING BEGIN ITERATE retry; # illegal END; IF i < 0 THEN LEAVE retry; # legal END IF; SET i = i - 1; END; UNTIL FALSE END REPEAT; END;
  • 7. El alcance de un bloque de etiquetas no incluye el código para los controladores declarados dentro del bloque. Por lo tanto, la declaración asociada con un controlador no puede utilizar ITERATE o licencia para referirse a las etiquetas para los bloques que encierran la declaración del controlador. Considere el ejemplo anterior, donde el bloque de repetición tiene una etiqueta de reintento.