Practica 5 Trigger

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

CARRERA: INGENIERA EN SISTEMAS

COMPUTACIONALES

MATERIA: Administracin de Bases de Datos

PRACTICA 5: Trigger

Alumno:
Elvis Josu Bautista Lpez 10320890

HORA: 11:00 12:00 PM

AULA: 706


FECHA: 27/05/2014
INSTITUTO
TECNOLOGICO DE ACAPULCO
Practica 5 Trigger

Creamos la base de Datos prueba.


Ponemos en uso la base de Datos mysql> use prueba; Creamos la tabla clientes.


Tabla: clientes
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;



Ahora crearemos la tabla auditoria_clientes, que ser utilizada para registrar todos los
cambios, que se hagan en la tabla clientes.

Tabla: Auditoria_clientes
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;



Comenzamos a crear los tres disparadores o trigger.
Trigger para insertar Inserta_auditoria_clientes

Trigger : para insertar
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 );




Creamos Trigger para modificar Modifica_auditoria_clientes

Trigger: para modificar
CREATE TRIGGER Modifica_auditoria_clientes BEFORE UPDATE ON clientes
FOR EACH ROW
INSERT INTO auditoria_clientes(nombre_anterior, seccion_anterior, nombre_nuevo,
seccion_nueva, usuario, modificado, Id_Cliente)
VALUES (OLD.nombre, OLD.seccion, NEW.nombre, NEW.seccion, CURRENT_USER(),
NOW(), NEW.id_cliente);



Creamos Trigger para eliminar Elimina_auditoria_clientes

Trigger : para eliminar
CREATE TRIGGER Elimina_auditoria_clientes AFTER DELETE ON clientes
FOR EACH ROW
INSERT INTO auditoria_clientes(nombre_anterior, seccion_anterior, usuario, modificado,
Id_Cliente)
VALUES (OLD.nombre, OLD.seccion, CURRENT_USER(), NOW(), OLD.id_cliente);



Introducimos datos a la Tabla clientes

INSERT INTO clientes (nombre, seccion) VALUES
('Miguel','informatica'),
('Rosa','comida'),
('Maria','ropa'),
('Albert','informatica'),
('Jordi','comida');



Resultado en la Tabla clientes
pantallazo



Resultado en la Tabla Auditoria_clientes
pantallazo



CONCLUSION:
En esta prctica entramos en un nuevo tema que es el uso y creacin de trigger, estos son
de gran utilidad porque podemos realizar ciertos cambios a la base de datos sin necesidad
de que una persona ejecute las sentencias. Esto puede aplicarse para automatizar la
actualizacin de las tablas que estn relacionadas para un mismo fin.

Los trigger pueden ejecutar las siguientes Operaciones:

Insertar(INSERT)
Actualizacin(UPDATE)
Borrado(DELETE)

Los trigger tambin son conocidos como disparadores.

También podría gustarte