Actividad 1-B

crear un trigguer con el nombre de valorventa que al insertar un articulo realice el siguiente calculo:

1. calcular el valorventa de la tabla detalle con un incremento del 23% del valor unitario de la tabla articulo

Análisis:

a)  campo a reemplazar= valor venta de la tabla detalle

b) con quien o que lo van a reemplazar= (valor unitario *0.23) + valor unitario de la tabla articulo

c) condiciones= articulo.codigo = detalle.codigo

d) comando update


sentencia MYSQL

MYSQL> update detalle ser valorventa= (select valor unitario +(valorunitario *0.23 from articulo where articulo.codigo= detalle.codigo);


ejemplo:

 ->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

-> //

Ejemplo 2

crear un trigger con el nombre de actualizar_existencia que al insertar un detalle realice el siguiente calculo:

- calcular las existencias según la tabla detalle de cada articulo

a) campo a reemplazar = existencia de la tabla articulo

b) con quien o que lo va a reemplazar = cantidad -suma(cantidad) de la tabla detalle.

c)  condiciones= detalle.codigo = articulo.codigo

d) comando update


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


->delimiter //

->create trigger Actualizar_Existenciap after insert on detalle

-> for each row

-> begin

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

-> end

-> //

-> delimiter ;

Ejemplo de un triggers:

la "idea" es crear un trigger que antes de insertar un producto, calcule el valor venta.


supongamos la siguiente situación:  En una empresa vende productos y se gana un porcentaje fijo por cada producto.


crear la siguiente base de datos

use pruebatrigger;

create table productos(

-> codigo varchar(12) primary key,

-> nombre varchar(30),

-> porganar int(2),

-> costo int,

-> valorventa int,

-> cantidad int);

 select *from productos;

 insert into productos values('1','arroz 1 kilo',15,1800,0,45);

 select *from productos;

Ejemplo 2:

vuelva a calcular el valor de la venta:

delimiter//

create trigger actvalorventa before update on productos

for each row

begin

set new.valorventa= new.costo + new.costo*new.Porganar/100;

end

//

delimiter ;



© 2018 Jhon Alejandro Guevara Giraldo, Ingeniero de Sistemas, Medellín-Colombia.
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