SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Nombre del profesor: Ing. José Omar Díaz Aguilar
Nombre del Alumno: Jesús Guadalupe Trujillo Ramírez
Indri Patricia Gabriel Escalante
Cuatrimestre: 8°
Grupo: “D”
Materia: “Base de datos”
Tecnología de la Información y la Comunicación, Área
Sistemas Informáticos
Primeramente se creara una Base de Datos con el nombre de Practica, usamos la
Base de Datos y dentro de ella crearemos dos tablas con el nombre de clientes y
auditoria_clientes y cada tabla contendrá sus respectivos datos.
CREATE DATABASE Practica;
USE Practica;
CREATE TABLE clientes(id_cliente int not null auto_increment,
nombre varchar(100),seccion varchar(20),
Accion varchar(10) default 'Insertado',
PRIMARY KEY(id_cliente),
KEY(nombre)) ENGINE = 'InnoDB';
CREATE TABLE auditoria_clientes(id int not null auto_increment,
nombre_anterior varchar(100),seccion_anterior varchar(20),
nombre_nuevo varchar(100),seccion_nueva varchar(20),
usuario varchar(40),modificado datetime,
proceso varchar(10),Id_Cliente int(4),primary key(id)) ENGINE = 'InnoDB';
Para comprobar si quedo la Base de Datos asemos una actualización en Heidi y
vemos la Base de Datos creada y las tablas creadas.
COMMINT
Para poder hacer una tracción, primero se tiene que inicializar con el comando
START TRANSACTION, con el comando SAVEPOINT marcamos un punto de la
transacción actual con el nombre de ‘PEDRO’, luego creamos nuestro triggers con
el nombre de Insertar_auditoria_cliente, y después insertamos en los valores
correspondientes, como se muestra en el siguiente código.
Nombre de la
Base de Datos.
Nombre de la tabla
auditoria_clientes.
Nombre de la
tabla clientes.
START TRANSACTION;
SAVEPOINT PEDRO;
CREATE TRIGGER Inserta_auditoria_clientes
AFTER INSERT ON clientes
FOR EACH ROW
INSERT INTO auditoria_clientes(nombre_nuevo, seccion_nueva, usuario,
modificado, proceso, Id_Cliente)
VALUES (NEW.nombre, NEW.seccion, CURRENT_USER(), NOW(), NEW.Accion,
NEW.id_cliente );
INSERT INTO clientes (nombre, seccion)
VALUES('Miguel','informatica'),('Rosa','comida'),('Maria','ropa'),('Alber
t','informatica'),('Jordi','comida'),('PEDRO','LICENCIA');
COMMIT;
Después concluimos con el COMMIT que es la Finalización de la transacción
actual haciendo permanentes todos los cambios pendientes.
Como vemos en la siguiente imagen se creó el triggers con el nombre de
Insertar_auditoria_clientes y también se insertaron los valores correspondientes en
cada tabla y como vemos en las dos tablas se inserto el nombre de nuestro
SAVEPOINT que es PEDRO.
Tabla clientes:
Nombre de
nuestro triggers
Nombre de nuestro
SAVEPOINT
Tabla auditoria_clientes:
ROLLBACK
Para el ROLLBACK que es la finalización de una tracción actual descartando
todos los cambios pendientes, primero iniciamos la tracción con el START
TRANSACTION, luego con el SAVEPOINT que marca un punto de la transacción
actual con el nombre de ‘PEDRO’ utilizaremos el mismo trigger pero le
cambiaremos el nombre con el nombre de rollback1, insertamos valores en la
tabla clientes donde clientes tiene nombre & sección, y los valores serán
‘PEDRO2’ y ‘LICENCIA’, luego ponemos ROLLBACK TO y el nombre que le
habíamos puesto a nuestro SAVEPOINT que sería ‘PEDRO’, ponemos nuestro
traiggers, en el siguiente código se muestra como quedo el método de
ROLLBACK.
START TRANSACTION;
SAVEPOINT PEDRO;
INSERT INTO clientes (nombre, seccion)
VALUES('PEDRO2','LICENCIA');
ROLLBACK TO pedro;
CREATE TRIGGER Rollback1
AFTER INSERT ON clientes
FOR EACH ROW
INSERT INTO auditoria_clientes(nombre_nuevo, seccion_nueva, usuario,
modificado, proceso, Id_Cliente)
VALUES (NEW.nombre, NEW.seccion, CURRENT_USER(), NOW(), NEW.Accion,
NEW.id_cliente );
En el código anterior la utilidad del ROLLBACK es que no se podrá insertar los
valores de ‘PEDRO2’ y ‘LICENCIA’, porque, como ya se había mencionado antes
el rollback finaliza la tracción, entonces en este caso no podrá pasar al triggers.
En la siguiente imagen observamos que tenemos a PEDRO, ahora utilizaremos el
ROLLBACK.
Como se observa se creó el triggers con el nombre de rollback1
Luego vamos en la tabla clientes y observamos que no se puedo insertar los datos
de ‘PEDRO2’ y ‘LICENCIA’ y quedo igual.
Nombre de nuestro
triggers

Más contenido relacionado

La actualidad más candente

ADMINISTRACION DE BASE DE DATOS.ppt
ADMINISTRACION DE BASE DE DATOS.pptADMINISTRACION DE BASE DE DATOS.ppt
ADMINISTRACION DE BASE DE DATOS.pptCristianFlasher1
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxFrancisco Medina
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas OperativosGabriela
 
PresentacióN Html
PresentacióN HtmlPresentacióN Html
PresentacióN Htmlmarcos0209
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red ANDINO2017
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en WindowsErick Cruz
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVERDarwin Durand
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con MysqlBrenditaLr
 
Caracteristicas de los Sistemas Operativos
Caracteristicas de los Sistemas OperativosCaracteristicas de los Sistemas Operativos
Caracteristicas de los Sistemas OperativosPablo Macon
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capasEsbeyiz
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Estructura modular
Estructura modularEstructura modular
Estructura modularjuan_180
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionJosé Antonio Sandoval Acosta
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 

La actualidad más candente (20)

Integridad en las bases de datos
Integridad en las bases de datosIntegridad en las bases de datos
Integridad en las bases de datos
 
ADMINISTRACION DE BASE DE DATOS.ppt
ADMINISTRACION DE BASE DE DATOS.pptADMINISTRACION DE BASE DE DATOS.ppt
ADMINISTRACION DE BASE DE DATOS.ppt
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
ENTORNOS DE DESARROLLO: INSTALACIÓN Y USO
ENTORNOS DE DESARROLLO: INSTALACIÓN Y USO ENTORNOS DE DESARROLLO: INSTALACIÓN Y USO
ENTORNOS DE DESARROLLO: INSTALACIÓN Y USO
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos
 
Programacion web
Programacion webProgramacion web
Programacion web
 
PresentacióN Html
PresentacióN HtmlPresentacióN Html
PresentacióN Html
 
Los sistemas operativos de Red
Los sistemas operativos de Red Los sistemas operativos de Red
Los sistemas operativos de Red
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en Windows
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysql
 
Caracteristicas de los Sistemas Operativos
Caracteristicas de los Sistemas OperativosCaracteristicas de los Sistemas Operativos
Caracteristicas de los Sistemas Operativos
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Base de Dato Oracle
Base de Dato OracleBase de Dato Oracle
Base de Dato Oracle
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Estructura modular
Estructura modularEstructura modular
Estructura modular
 
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccionTaller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de datos - Unidad 1 SGBD introduccion
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 

Similar a Commit&rollback

Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosguesta403644
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosguesta403644
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos AlmacenadosRafa
 
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOSSQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOSLuisDavidGarciaInga2
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql ServerCorfapo
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistemaUNEFA
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005pabloesp
 
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexicoColegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico25415252
 
Trigger - INSERT- Base de Datos 2 .pptx
Trigger - INSERT- Base de Datos 2  .pptxTrigger - INSERT- Base de Datos 2  .pptx
Trigger - INSERT- Base de Datos 2 .pptxCarlosManzanares18
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Universidad Nacional de Piura
 
Base de-datos-ii
Base de-datos-iiBase de-datos-ii
Base de-datos-iiLuis Carmen
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de DatosMIROSLAVY
 
Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Anna Vega
 

Similar a Commit&rollback (20)

Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Vistas (1)
Vistas (1)Vistas (1)
Vistas (1)
 
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOSSQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
SQL SERVER Y MYSQL - ADMINISTRACIÓN DE BASE DE DATOS
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Diseño sistema
Diseño sistemaDiseño sistema
Diseño sistema
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexicoColegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
 
Trigger - INSERT- Base de Datos 2 .pptx
Trigger - INSERT- Base de Datos 2  .pptxTrigger - INSERT- Base de Datos 2  .pptx
Trigger - INSERT- Base de Datos 2 .pptx
 
Laboratorio de XML en DB2
Laboratorio de XML en DB2Laboratorio de XML en DB2
Laboratorio de XML en DB2
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Base de-datos-ii
Base de-datos-iiBase de-datos-ii
Base de-datos-ii
 
Practica form builder
Practica form builderPractica form builder
Practica form builder
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
Instalacion de sql server 2008
Instalacion de sql server 2008Instalacion de sql server 2008
Instalacion de sql server 2008
 
Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)Proyecto de Base de Datos (Parte II)
Proyecto de Base de Datos (Parte II)
 
Procedimientos y excepciones
Procedimientos y excepcionesProcedimientos y excepciones
Procedimientos y excepciones
 

Último

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Commit&rollback

  • 1. Nombre del profesor: Ing. José Omar Díaz Aguilar Nombre del Alumno: Jesús Guadalupe Trujillo Ramírez Indri Patricia Gabriel Escalante Cuatrimestre: 8° Grupo: “D” Materia: “Base de datos” Tecnología de la Información y la Comunicación, Área Sistemas Informáticos
  • 2. Primeramente se creara una Base de Datos con el nombre de Practica, usamos la Base de Datos y dentro de ella crearemos dos tablas con el nombre de clientes y auditoria_clientes y cada tabla contendrá sus respectivos datos. CREATE DATABASE Practica; USE Practica; CREATE TABLE clientes(id_cliente int not null auto_increment, nombre varchar(100),seccion varchar(20), Accion varchar(10) default 'Insertado', PRIMARY KEY(id_cliente), KEY(nombre)) ENGINE = 'InnoDB'; CREATE TABLE auditoria_clientes(id int not null auto_increment, nombre_anterior varchar(100),seccion_anterior varchar(20), nombre_nuevo varchar(100),seccion_nueva varchar(20), usuario varchar(40),modificado datetime, proceso varchar(10),Id_Cliente int(4),primary key(id)) ENGINE = 'InnoDB'; Para comprobar si quedo la Base de Datos asemos una actualización en Heidi y vemos la Base de Datos creada y las tablas creadas. COMMINT Para poder hacer una tracción, primero se tiene que inicializar con el comando START TRANSACTION, con el comando SAVEPOINT marcamos un punto de la transacción actual con el nombre de ‘PEDRO’, luego creamos nuestro triggers con el nombre de Insertar_auditoria_cliente, y después insertamos en los valores correspondientes, como se muestra en el siguiente código. Nombre de la Base de Datos. Nombre de la tabla auditoria_clientes. Nombre de la tabla clientes.
  • 3. START TRANSACTION; SAVEPOINT PEDRO; CREATE TRIGGER Inserta_auditoria_clientes AFTER INSERT ON clientes FOR EACH ROW INSERT INTO auditoria_clientes(nombre_nuevo, seccion_nueva, usuario, modificado, proceso, Id_Cliente) VALUES (NEW.nombre, NEW.seccion, CURRENT_USER(), NOW(), NEW.Accion, NEW.id_cliente ); INSERT INTO clientes (nombre, seccion) VALUES('Miguel','informatica'),('Rosa','comida'),('Maria','ropa'),('Alber t','informatica'),('Jordi','comida'),('PEDRO','LICENCIA'); COMMIT; Después concluimos con el COMMIT que es la Finalización de la transacción actual haciendo permanentes todos los cambios pendientes. Como vemos en la siguiente imagen se creó el triggers con el nombre de Insertar_auditoria_clientes y también se insertaron los valores correspondientes en cada tabla y como vemos en las dos tablas se inserto el nombre de nuestro SAVEPOINT que es PEDRO. Tabla clientes: Nombre de nuestro triggers Nombre de nuestro SAVEPOINT
  • 5. ROLLBACK Para el ROLLBACK que es la finalización de una tracción actual descartando todos los cambios pendientes, primero iniciamos la tracción con el START TRANSACTION, luego con el SAVEPOINT que marca un punto de la transacción actual con el nombre de ‘PEDRO’ utilizaremos el mismo trigger pero le cambiaremos el nombre con el nombre de rollback1, insertamos valores en la tabla clientes donde clientes tiene nombre & sección, y los valores serán ‘PEDRO2’ y ‘LICENCIA’, luego ponemos ROLLBACK TO y el nombre que le habíamos puesto a nuestro SAVEPOINT que sería ‘PEDRO’, ponemos nuestro traiggers, en el siguiente código se muestra como quedo el método de ROLLBACK. START TRANSACTION; SAVEPOINT PEDRO; INSERT INTO clientes (nombre, seccion) VALUES('PEDRO2','LICENCIA'); ROLLBACK TO pedro; CREATE TRIGGER Rollback1 AFTER INSERT ON clientes FOR EACH ROW INSERT INTO auditoria_clientes(nombre_nuevo, seccion_nueva, usuario, modificado, proceso, Id_Cliente) VALUES (NEW.nombre, NEW.seccion, CURRENT_USER(), NOW(), NEW.Accion, NEW.id_cliente ); En el código anterior la utilidad del ROLLBACK es que no se podrá insertar los valores de ‘PEDRO2’ y ‘LICENCIA’, porque, como ya se había mencionado antes el rollback finaliza la tracción, entonces en este caso no podrá pasar al triggers. En la siguiente imagen observamos que tenemos a PEDRO, ahora utilizaremos el ROLLBACK.
  • 6. Como se observa se creó el triggers con el nombre de rollback1 Luego vamos en la tabla clientes y observamos que no se puedo insertar los datos de ‘PEDRO2’ y ‘LICENCIA’ y quedo igual. Nombre de nuestro triggers