Bonjour, je réalise actuellement un TP de base de données avec ORACLE et je dois réaliser un trigger qui vérifie que le nombre de plats commandés n'est pas supérieur au nombre de personnes.

1 table commande avec idcommande (cp) et nbpersonne
1 association composer avec idcommande(cp) et idplat(cp)
1 table plats avec idplat (cp)

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
 
create or replace trigger verifPers before
insert or update on composer
for each row
declare
qte composer.quantite%type;
nbpers commandes.nbpersonnes%type;
begin
select c.quantite,co.nbpersonnes
into qte, nbpers
from composer c, commandes co
where c.idcommande = co.idcommande
and co.idcommande = :old.idcommande;
if (qte > nbpers) then
raise_application_error(-20500,'ERREUR');
end if;
end;
le trigger se crée mais une fois l’exécution ERREUR