Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1506 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment faire pour annuler l'exécution d'un trigger sous Mysql ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire pour annuler l'exécution d'un trigger sous Mysql ?

n°1541393
86bavaria
Posté le 11-04-2007 à 15:43:44  profilanswer
 

Bonjour,
 
Je suis sous mysql 5.0.33.
 
J'ai un trigger qui ressemble à ça :
 

Code :
  1. CREATE TRIGGER ADD_CONGE
  2. BEFORE INSERT ON conge
  3. FOR EACH ROW
  4. BEGIN
  5. DECLARE NB INT(11);
  6. SELECT nb_conge FROM personnel WHERE matricule=new.matricule INTO NB;
  7. IF NB>9 THEN
  8.    ANNULER INSERTION;
  9. ELSE
  10.     UPDATE personnel SET nb_conge=nb_conge+1 WHERE matricule=new.matricule;
  11. END IF;
  12. END;
  13. !!


 
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
mood
Publicité
Posté le 11-04-2007 à 15:43:44  profilanswer
 

n°1541395
86bavaria
Posté le 11-04-2007 à 15:44:17  profilanswer
 

up


Message édité par 86bavaria le 11-04-2007 à 15:44:37
n°1541416
MagicBuzz
Posté le 11-04-2007 à 16:09:56  profilanswer
 

select 1/0
 
bah quand tu peux pas faire de raise proprement, t'en fait un salement :spamafote:
 
-- edit : après relecture, c'est ce que tu fais déjà, mais en plus lisible je pense --


Message édité par MagicBuzz le 11-04-2007 à 16:11:16
n°1541426
86bavaria
Posté le 11-04-2007 à 16:20:47  profilanswer
 

peut pas faire de select dans un trigger : mysql y veut pas  :cry: !
 
Donc pas de solution propre ?


Message édité par 86bavaria le 11-04-2007 à 16:20:56
n°1541431
MagicBuzz
Posté le 11-04-2007 à 16:23:26  profilanswer
 

comment c trop d'la merde mysql :ouch:
 
et dire que je croyais que ça s'était amélioré, en fait y'a que l'emballage qui est mieux, ça reste toujours aussi naze dès qu'on gratte un peu :ouch:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment faire pour annuler l'exécution d'un trigger sous Mysql ?

 

Sujets relatifs
[MySQL] jointure et countRécupérer des variables de mySql pour flash
mysql : utf-8 ou iso-8859-15 ?Gestion d'erreurs mysql
[Résolu] PHP MySQL - Problème de recherche dans la baseprobleme avec serveur MySQL
Timestamp php/mysqlExécution d'un programme C sur serveur Free [RESOLU]
Requête mysql marche sauf pour une condition ....Lien php + MySql
Plus de sujets relatifs à : Comment faire pour annuler l'exécution d'un trigger sous Mysql ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR