Vous êtes sur la page 1sur 1

Bonjour ma chère Déléguée,

Voici quelques objets à ajouter dans la base GESTCOM pour bien faire fonctionner les mises à jour
dans la table Produit.
1. Création d’une vue qui affiche l'état du stock des produits après la livraison des
fournisseurs.
CREATE View Stock_Produit as
SELECT L.Id_prod as ProduitID,Libelle_prod,AVG(Prix_livre)*1.3 as Prix_Majore,SUM(Qte_livre) as
Qte_livre, Ifnull(SUM(Qte_cde),0) as Qte_cde, SUM(Qte_livre)-Ifnull(SUM(Qte_cde),0) as Stock
from PRODUIT P
Left join Livraison L
ON P.Id_prod = L.Id_prod
Left join Ligne_commande LC
ON P.Id_prod=LC.Id_prod
Group by L.Id_prod,Libelle_prod ;

2. Création d’un Trigger qui fait entrer les produits nouvellement livrés par les Fournisseurs

-- Création de trigger de mise à jour Produit après Livraison par les fournisseurs

DROP TRIGGER IF EXISTS livraison_insert ;


DELIMITER $$
CREATE TRIGGER livraison_insert
AFTER INSERT
ON LIVRAISON
FOR EACH ROW
BEGIN
IF NEW.Qte_livre > 0 THEN
UPDATE PRODUIT SET Qte_stock = Qte_stock + NEW.Qte_livre
WHERE Produit.Id_prod=NEW.Id_prod;
END IF;
END$$
DELIMITER ;

Mais, comme nous avons déjà créé la table Livraison avec des enregistrements, il faut faire :
- DROP Table de la table Livraison et la recréer sans saisir les données
- Créer ensuite la Vue Stock_Produit et le Trigger livraison_insert
- Ensuite Insérer les données dans la table LIVRAISON ;
- Faire SELECT sur la vue Stock_Produit et la table PRODUIT pour constater.

Travail à faire individuellement :


Créer par la même occasion le trigger qui fait diminuer la quantité en stock de produit après
commandes des clients, comme l’indique la Vue Stock_Produit.
Table LIGNE_COMMANDE concernée.

Bon courage à tous !

Vous aimerez peut-être aussi