Bonjour,
J'ai un petit problème avec un triggers pour dans un certains cas éviter d'inserer.
Le trigger se lance avant l'insert sur compte, et dans la fonction si le nouveau solde du compte est inférieur à 100 alors raise exception. En principe ceci devrait empecher l'insert et afficher le message du raise exception. Sauf c'est comme s'il ne rentrait pas dans la fonction et que l'insert s'effectuait quand meme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 drop trigger if exists tr_funCompte on COMPTE; DROP function if exists funCompte(); CREATE function funCompte() returns trigger as $$ Begin if new.solde < 100 Then RAISE EXCEPTION 'L\insertion a échoué car le solde est inférieur à 100. Le solde --> %', new.solde; End if; return new; End; $$ language 'plpgsql'; create trigger tr_funCompte before insert on COMPTE for each row execute procedure funCompte();
Quelqu'un pourrait m'éclairer ?
Merci à vous
Cordialement, Nimo
Partager