Trigger : Operation sur attributs
Salut, je vous explique rapidement la situation :
J'ai trois classes d'entités :
- Colis
-Camion
-Type camion ,
Colis est relié a camion par la classe d'association estlivré qui a 2 attributs : quantité et date.
Camion possede la table Typecamion car il s'agit d'une dépendance fonctionnelles ( clé et attribut contenu dans Camion sous forme de clé étrangère)
Donc ca fait un truc du genre :
Colis(codecolis, volume,poids) ----Estlivré (quantité,date) ---Camion(noimm,volumeMax, PoidsMax )
Trigger que j'aimerais faire :
Un trigger qui prend le colis multiplié par sa quantité et son volume et le compare au volume max de typecamion ( attribut dans la table camion )
Un trigger qui prend le colis multiplié par sa quantité et son poids et le compare au poids max de typecamion ( attribut dans la table camion )
J'ai un début de quelque chose , je suis clairement conscient que c'es faux mais c'est une ébauche si vous pouviez m'aider.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| CREATE OR REPLACE TRIGGER ColisxQuantite>PoidsMax BEFORE
INSERT OR UPDATE
ON Colis and EstLivre and TypeCamion FOR EACH ROW
DECLARE
ColisxQuantite>PoidsMax EXCEPTION ;
BEGIN
IF :new.Colis.Poids*:new.estlivre.quantité > :New.TypeCamion.PoidsMax THEN
RAISE ColisxQuantite>PoidsMax ;
END IF ;
EXCEPTION
WHEN ColisxQuantite>PoidsMax THEN
raise_application_error (-20009 , 'La Somme des Colis depasse le PoidsMaximal du Type de Camion.') ;
END ; |
S'il vous faut des précisions dites moi je tacherais de vous les donner , desole de pas avoir d'image de ma base si je peux je vous le rajouterais.
Merci d'avance a la communauté.