Actividad 3

 Manejo triggers

Introducción a trigger Los triggers o disparadores, son procedimientos automáticos que se activan después de una acción, esta acción puede ser un insert, delete o update se trabaja con dos identificadores que son after (después de) before (antes de) Dentro de las condiciones que tienen los triggers esta que no pueden existir dos o mas after para el insert o para el delete o para el update El after es el caso mas común de los triggers, se activa después de una sentencia y afecta solo tablas distintas a la que lo esta invocando, situación que no sucede con el before que solo afecta la tabla que lo invoca la sintaxis general es 

delimiter // 

create trigger nombre after (insert, delete, update) 

on tabla 

for each row //recorre fila por fila (arreglos o matrices)

 begin 

sentencia sql

 end // 

delimiter ; 

Crear  un trigguer con el nombre de valorventa que al insertar un artículo realice el siguiente calculo:

Calcular el valorventa de la tabla detalle con un incremento del 23% del valorunitario de la tabla artículo

update detalle set valorventa = (select valorunitario + (valorunitario * 0.23) from articulo where articulo.codigo = detalle.codigo); 

 delimiter //

 create trigger valorventa after insert on articulo

-> for each row

-> begin

-> update detalle set valorventa = (select valorunitario + (valorunitario * 0.23) from articulo where articulo.codigo = detalle.codigo);

-> end

-> //

delimiter ;


Crear un trigger con el nombre de actualizar_existenciap que al insertar un detalle realice el siguiente cálculo:

Calcular las existencias según la tabla detalle de cada artículo

update articulo set existencia = cantidad - (select sum(cantidad) from detalle where detalle.codigo=articulo.codigo);

delimiter //

create trigger actualizar_existenciap after on artículo

for each row

begin

update articulo set existencia = cantidad - (select sum(cantidad) from detalle where detalle.codigo = articulo.codigo); 

end

//

delimiter ;

Nota: cuando trabajamos con trigger la primera que va es la tabla con la que se va hacer el proceso(actualizar o borrar) y la  instrucción mysql de primera va la tabla en la que se vaya hacer cambios o movimiento atraves de los datos o la información que ha y en las otras tablas

Ejemplo: La "idea" es crear un trigger que ante de insertar un producto calcule el valor de la venta.

supongamos la siguiente situación:

En una empresa se vende productos y se gana un porcentaje fijo por cada producto

La idea es crear un trigger que antes de actualizar un producto vuelva y calcule el valor venta

Sobre una base de datos que se tenga creada o una nueva crear dos trigger con after y dos before

© 2020 Bases de datos | Todos los derechos reservados
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar