1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| create PROCEDURE cacul_quantite(p_article int, p_magasin int, p_date date)
BEGIN
/** declaration de mes variables**/
declare dernier_date date;
DECLARE dernier_stock integer;
declare q_vendue integer;
declare q_livrer integer;
DECLARE qunatite_totale integer;
set dernier_date = (select max(date_jour) from stock where ((p_article=stock.numArticle) and (p_magasin=stock.numMagasin)));
set dernier_stock =( select quantite_stock from stock where ((p_article=stock.numArticle) and (p_magasin=stock.numMagasin)
and (dernier_date=stock.date_jour)));
set q_vendue= (select sum(quantite_v) from vente where ((p_article=vente.numArticle) AND (vente.numMagasin =p_magasin)
and (dernier_date<= vente.date_v <= p_date)));
set q_livrer= (select sum(quantite_l) from livraison where ((p_article =livraison.numArticle) AND (livraison.numMagasin = p_magasin)
and ( dernier_date <= livraison.date_l <= p_date)));
set qunatite_totale= (dernier_stock + q_livrer - q_vendue);
INSERT INTO STOCK VALUES (p_article,p_magasin, p_date, qunatite_totale);
end |