Bonjour,
Je suis sous mysql 5.0.33.
J'ai un trigger qui ressemble à ça :
Code :
- CREATE TRIGGER ADD_CONGE
- BEFORE INSERT ON conge
- FOR EACH ROW
- BEGIN
- DECLARE NB INT(11);
- SELECT nb_conge FROM personnel WHERE matricule=new.matricule INTO NB;
- IF NB>9 THEN
- ANNULER INSERTION;
- ELSE
- UPDATE personnel SET nb_conge=nb_conge+1 WHERE matricule=new.matricule;
- END IF;
- END;
- !!
|
Je souhaiterais annuler l'insertion si NB>9 (sous oracle possible ave des exceptions, raise, ou rollback ...).
La seule solution que j'ai trouvée c'est d'y mettre une requête bidon du genre "UPDATE personnel set toto="toto"" qui arrêtera l'exécution di trigger empêchant ainsi l'insertion.
Des idéées ?
Merci
Message édité par 86bavaria le 11-04-2007 à 15:44:53