Triggers gestion livraison
Bonjour,
Lors de la livraison d'une céréale par un adhérent, celle ci est pesée, et le système doit alors rechercher un silo disposant d'une capacité de stockage suffisante pour la céréale livrée. Si un silo est trouvé, alors la livraison est acceptée, enregistrée et affectée au silo trouvé. Sinon, la livraison est refusée, et bien sûr non enregistrée.
La gestion des livraisons et de stockage de céréales est modélisée par le modèle relationnel suivant :
CEREALE (code, nom)
clé primaire : code
SILO (numéro, capacité, quantitéSilo, codeCéréale)
clé primaire : numéro
clé étrangère : codeCéréale en référence à code de CEREALE
ADHERENT (numéro, nom, rue, CP, ville)
clé primaire : numéro
LIVRAISON (numéro, date, quantitéLivrée, refAdhérent, codeCéréale, numéroSilo)
clé primaire : numéro : clé primaire
clé étrangère : refAdhérent en référence à numéro de ADHERENT
clé étrangère : codeCéréale en référence à code de CEREALE
clé étrangère : numéroSilo en référence à numéro de SILO
Alors pour la gestion, j'ai décidé de réaliser deux triggers, l'un permettant de gérer les livraisons et un deuxième pour gérer le stockage.
J'ai essayé d'effectuer celui de la livraison mais il ne marche pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
DELIMITER |
CREATE TRIGGER livr
BEFORE INSERT
ON livraison
FOR EACH ROW
BEGIN
DECLARE QtteSilo INT
SELECT quantiteSilo INTO QtteSilo
FROM SILO AS S
WHERE S.codeCéréale = :new.codeLivraison
AND L.numéroSIlo = :new.numéroSilo
IF :new.QuantitéLivrée < QtteSilo
THEN
RAISE_APPLICATION_ERROR(-201201,desole le silo ne peut pas s'enregistrer')
ELSE
END IF
END |