0% ont trouvé ce document utile (0 vote)
4 vues2 pages

Calcul automatique du montant total avec trigger

Le document décrit la création d'un trigger MySQL pour calculer automatiquement le montant total d'une facture dans la table `facture_pharmacie` en multipliant le prix unitaire d'un produit par la quantité achetée. Ce trigger s'exécute avant l'insertion d'une nouvelle ligne et garantit que le montant total est toujours correctement calculé. Il souligne également l'importance de tester le déclencheur pour assurer son bon fonctionnement.

Transféré par

arturosamba81
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues2 pages

Calcul automatique du montant total avec trigger

Le document décrit la création d'un trigger MySQL pour calculer automatiquement le montant total d'une facture dans la table `facture_pharmacie` en multipliant le prix unitaire d'un produit par la quantité achetée. Ce trigger s'exécute avant l'insertion d'une nouvelle ligne et garantit que le montant total est toujours correctement calculé. Il souligne également l'importance de tester le déclencheur pour assurer son bon fonctionnement.

Transféré par

arturosamba81
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

Pour calculer automatiquement le montant total (prix total) à partir du prix

unitaire d'un produit et de la quantité achetée lors de l'insertion dans la table


`facture_pharmacie`, vous pouvez utiliser un déclencheur (trigger) au lieu d'une
fonction. Voici comment vous pouvez procéder en utilisant un trigger dans MySQL :

### Création d'un Trigger

Voici un exemple de création d'un trigger qui calculera automatiquement le montant


total (`montant_total`) en multipliant le prix du produit (`prix`) par la quantité
(`quantite`) lorsque vous insérez une nouvelle ligne dans la table
`facture_pharmacie`.

```sql
DELIMITER //

CREATE TRIGGER calculerMontantTotal BEFORE INSERT ON facture_pharmacie


FOR EACH ROW
BEGIN
DECLARE prix_unitaire DECIMAL(10, 2);
DECLARE quantite INT;

-- Sélectionner le prix unitaire du produit à partir de la table pharmacie


SELECT prix INTO prix_unitaire FROM pharmacie WHERE id_produit =
NEW.id_produit;

-- Calculer le montant total


SET NEW.montant_total = prix_unitaire * [Link];
END //

DELIMITER ;
```

### Explication du Trigger

- Ce déclencheur (`BEFORE INSERT`) est exécuté avant l'insertion d'une nouvelle


ligne dans la table `facture_pharmacie`.
- Pour chaque nouvelle ligne (`FOR EACH ROW`), il sélectionne le prix unitaire du
produit (`prix`) à partir de la table `pharmacie` en utilisant l'`id_produit` de la
nouvelle ligne (`NEW.id_produit`).
- Ensuite, il multiplie le prix unitaire par la quantité (`[Link]`) pour
calculer le montant total (`NEW.montant_total`).
- Ce montant total calculé est automatiquement inséré dans la colonne
`montant_total` de la table `facture_pharmacie`.

### Utilisation du Trigger

Lorsque vous insérez une nouvelle ligne dans la table `facture_pharmacie`, le


montant total sera calculé automatiquement en fonction du prix unitaire du produit
et de la quantité achetée, grâce à ce trigger.

### Points à Noter

- Assurez-vous que les types de données (`DECIMAL`, `INT`, etc.) correspondent à


ceux de vos tables.
- Ce trigger garantit que le montant total est toujours calculé correctement lors
de l'insertion d'une nouvelle facture dans la table `facture_pharmacie`, en
maintenant la précision des données financières.
- Testez soigneusement le déclencheur pour vous assurer qu'il fonctionne comme
prévu dans votre environnement MySQL.
En utilisant ce déclencheur, vous automatisez le calcul du montant total basé sur
le prix du produit et la quantité achetée, simplifiant ainsi la gestion des
transactions dans votre système de pharmacie.

Vous aimerez peut-être aussi