bonjour a tous,
Je suis en train d'écrire un trigger mais je me heurte a une erreur que j'ai du mal a à résoudre alors si vous pouviez m'aider ce serait cool.
Voici mon code
et voici l'erreur:
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
19
20
21
22
23
24
25 create or replace trigger check_insc before insert or update on inscription declare prerequis prerequis.codmodprereq%type; notemin prerequis.notprereq; nbexam number(10); Begin select codmodprereq,noteprereq into prerequis,notemin from prerequis where codmod=:new.codmod; if not(:new.numetud in (select numetud from inscription where comod=prerequis and numetud=:new.numetud)) then raise_application_error(-20001,'l'etudiant n'a pas été inscit au module prerequis dc n'as pas été reçu'); end if; select count(*) into nbexam from examen where codmod=prerequis; if (select count(*) from resultat where numetud=:new.numetud and codmod=prerequis) < nbexam then raise_application_error(-20002,'l'étudiant n'a pas passé ts ses exam'); end if; select avg(notre) into moy from resultat where numetud=:new.numetud and codmod:=prerequis); if (moy<notemin) then raise_application_error(-20003,'l'étudiant ne peut etre inscrit, il n'a pas été reçu au module prerequis'); end if;
Merçi de votre aide!create or replace trigger check_insc
*
ERROR at line 1:
ORA-04082: NEW or OLD references not allowed in table level triggers
[Modération : titre et message edité par LeoAnderson]
Partager