Bonjour,
Je voudrai verifier sur ma base que les prenoms inseré dans ma table etudiant sont bien des prenom de garcons. Pour cela j'ai crée une table prenom contenant un dictionnaire de prenom de garcon. J'ai ensuite crée ce trigger qui se compile bien mais fait finalement l'inverse de ce que je veux:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Create or replace trigger TRIGG_PRENG
BEFORE insert or update on ETUDIANTS
FOR EACH ROW
declare cursor PREN_CUR is
select distinct id,prenom from PRENOMS_GARCONS;
PREN etudiants.prenom%TYPE;
Id PRENOMS_GARCONS.id%TYPE;
erreur EXCEPTION;
begin
open PREN_CUR;
loop
fetch PREN_CUR into Id,PREN;
exit when PREN_CUR%NOTFOUND;
IF (:new.civ='Monsieur') or (:new.civ='Mr') AND :new.PRENOM NOT LIKE PREN then
RAISE erreur;
end if ;
end loop;
close PREN_CUR;
EXCEPTION
WHEN erreur THEN
RAISE_application_error(-20002,'Ce n est pas un prenom de garcon');
end;
/ |
insert into ETUDIANTS (NUMETUDIANT,CIV,NOM,PRENOM,TELFIXE,TELMOB,DNETUD,ADRNUM,ADRRUE,ADRCP,ADRVILLE) values('E48','Mr','Clement','Clement','0157708080','0653777780','vendredi, octobre 16, 1987','105','Rue de Belleville', '75019','PARIS');
Cette insertion passe dans l'exception je ne vois pas pourquoi alors que le prenom Clement figure bien dans ma table prenom.
Merci pour vos reponses
Partager