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.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ;
Merci d'avance a la communauté.
Partager