Trigger créer, insert error : "l'extraction" ..
Bonjour, voilà je suis assez débutant en SQL.
J'ai créer une BD qui comportent donc plusieurs tables, j'ai voulu créer un trigger :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| CREATE OR REPLACE TRIGGER PoidsMax
BEFORE INSERT ON EstLivre
FOR EACH ROW
DECLARE
b integer ;
d integer ;
e integer ;
TropLourd EXCEPTION ;
BEGIN
SELECT Colis.Poids INTO b FROM Colis WHERE Colis.CodeColis=:NEW.CECodeColis;
SELECT :NEW.Quantite INTO d FROM EstLivre;
SELECT TypeCamion.PoidsMax INTO e FROM TypeCamion,Camion WHERE :NEW.CENoImm=Camion.NoImm AND Camion.CEModele=TypeCamion.Modele
AND Camion.CEMarque=TypeCamion.Marque;
IF e<(b*d) THEN RAISE TropLourd ;
END IF ;
EXCEPTION
WHEN TropLourd then RAISE_APPLICATION_ERROR(-20501,'Charge trop lourde pour le camion');
END ;
/ |
En gros dans chaque select je selectionne un attribut d'une relation différente pour les comparer, cependant le trigger se créer sans erreurs.
Je m'arrange pour chaque table à mettre des valeurs incensés afin de le faire déclencher seulement à chaque insertion voilà l'erreur :
Citation:
ORA-01422 L'extraction ramene plus que le nombre de ligne demandé
ORA-06512 o "SYSTEM.POIDSMAX3
ORA erreur lors de l'exectuin du déclencheur ..
voilà qui signifie cette erreur svp ? Car j'ai la même sur un autre trigger
Je travail sous oracle
merciiii