Está en la página 1de 2

//agregar un articulo delimiter $$ create procedure agregararticulo( in tmpnombre varchar(35), in tmppresentacion v archar(10), in tmpcosto decimal(10,2)) begin declare existe

boolean; select count(*)>0 into existe from articulos where nombre=tmpnombre; if existe then select 'este articulo ya existe' as mensaje; else insert into articulos(nombre,presentacion,costo) values(tmpnombre,tmppresentacio n,tmpcosto); select 'se ha agregado un nuevo articulo' as mensaje; end if ; end $$ delimiter ;

//actualizar un articulo delimiter $$ create procedure Actualizararticulo(in idarticuloaeditar integer, in tmpnombre v archar(35), in tmppresentacion varchar(10), in tmpcosto decimal(10,2)) begin declare existe boolean; select count(*)>0 into existe from articulos where idarticulos=idarticuloaeditar ; if existe then update articulos set nombre=tmpnombre,presentacion=tmppresentacion,costo=tmpcost o where idarticulos=idarticuloaeditar; select 'Articulo Actualizado' as mensaje else select 'id de articulo no existe' as mensaje end if end $$

ximelva_1@hotmail.com delimiter ; //eliminar un articulo create procedure EliminarArticulo(in idarticuloaeliminar integer) begin declare existe boolean; select count(*)>0 into existe from articulos where idarticulos=idarticuloaelimin ar; if existe then delete from articulos where idarticulos=idarticuloaeliminar; select 'articuloeliminado' as mensaje; else select 'articulo no existe' as mensaje; end if; end $$ delimiter; //triger disparador de presupuesto delimiter $$

create trigger verificarpresupuesto before insert on asignaciones for each row begin declare presupuestoactual decimal(10,2); declare presupuestolimite decimal(10,2); declare volordelnuevoarticulo decimal(10,2); declare sepuede boolean; select sum(costo) into presupuestoactual from articulos at inner join asignacion es asg on at.idarticulos=asg.idarticulo where iddepartamento=new.iddepartamanto; select presupuesto into presupuestolimite from departamentos d where d.iddeparta mento=new.iddepartamanto; select costo into volordelnuevoarticulo from articulos where idarticulos=new.ida rticulo; set sepuede=(presupuestoactual+valornuevoarticulo)<presupuestolimite; if sepuede then insert into asignaciones(iddepartamento,idarticulo) values (new.iddepartamanto,n ew.idarticulo); end if; end$$ delimiter ;

También podría gustarte