Lo que se vera ahorita es la utilización de Triggers o disparadores en esta herramienta estos son procedimientos que se ejecutan cuando sucede algún evento como eliminación , actualización o inserción de datos de una tabla especificada cuando se crea dicho Trigger.
La sintaxis de un trigger es la siguiente:
CREATE TRIGGER name_trigger evento_Disparador ON name_tabla
FOR EACH ROW
BEGIN
CUERPO;
END
name_trigger:
Indicara el nombre que se desea dar al trigger.
name_tabla:
Nombre de la tabla a la cual se desea agregar el evento.
cuerpo:
Estara todo los procesos aceptados por mysql como algun insert delete o incluso whiles, if, case cabe destacar que no existe for en procedimientos almacenados.
evento_Disparador:
En los eventos de los triggers estan BEFORE UPDATE, BEFORE INSERT, BEFORE DELETE, AFTER UPDATE, AFTER INSERT, AFTER DELETE.
Algo tambien bastante importante es el uso de los alias NEW y OLD en las columnas estos alias sirven para referirse a las columnas como por ejemplo un update si se quiere saber el monto de la una cantidad antes de actualizarse se colocaría OLD.cantidad o por el contrario se coloca NEW.cantidad me podran decir para que serviria esto supongamos la base de datos de una compañia telefonica cuando nosotros ingresamos una recarga y antes teniamos saldo se tendria que sumar el saldo anterior (OLD.saldo) con un nuevo saldo(new saldo) ejemplo.
CREATE TRIGGER trigger_saldo Before Update ON Saldo
FOR EACH ROW
BEGIN
SET NEW.saldo=NEW.saldo+OLD.saldo;
END
SET es para asignar el valor es propio de la sintaxis de Mysql y lo que se hace aqui es un disparador que cada vez que se actualice la tabla saldo que se sume el saldo viejo con el nuevo y se asgine al campo que va ingresar solo se pueden asignar valores a los campos NEW. campo a los OLD.campo no se les puede asignar valores.
El alias OLD sirve para DELETE y UPDATE
El alias NEW UPDATE, INSERT
0 comentarios:
Publicar un comentario