Bonjour,

Je cherche à faire un trigger mais s'il se compile, il ne fonctionne pas comme je voudrais

J'ai une table "collaborateurs" qui contient un champs "contratid" qui peut avoir 3 valeurs: STA (pour stage), CDD ou CDI.

Le trigger doit empêcher la mise à jour des données si l'on cherche à modifier un collaborateur en le faisant passer de CDD à STA

J'ai écrit ceci:
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
create or replace
trigger modifier_collaborateur_01
before update
on collaborateur
for each row
begin
if (:old.contratid = 'CDD' AND :new.contratid = 'STA') then
raise_application_error(-20101, 'ce changement de contrat n est pas autorisé');
end if;
end;

Ca compile mais ca n'empêche pas la mise à jour.

Si quelqu'un voit comment modifier correctement mon trigger, cela me rendra vraiment service