|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
![]() ![]() |
Bonjour,
Je débute avec les triggers. J'ai réussi à faire un système de message d'erreur et à l'utiliser dans deux triggers mais cela n'empêche pas l'exécution de l'insertion. Mon code actuel : Code :
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Salut Phil !
D'une part, on ne peut pas faire de ROLLBACK dans le trigger, d'autre part, pour empêcher l'insertion, il faut provoquer volontairement une erreur... Je t'invite à lire le papier d'Alain sur ce sujet : http://alain-defrance.developpez.com...integre-error/. A + |
|
|
00
|
|
|
#3 |
![]() ![]() |
Justement, je l'ai lu !
Ça veut dire qu'il faut que je mette mes NEW valeurs à NULL pour provoquer l'erreur ? Je ne sais pas comment va réagir le programme après ça ! Framework JBoss Seam
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
oui, par exemple...
|
|
|
00
|
|
|
#5 | |||||
![]() ![]() |
OK merci. Le trigger fonctionne dans MySQL, faut maintenant que je voie comment va réagir le programme mais je n'en suis pas encore là.
Pas top quand même ce système ! EDIT : En fait, en regardant par hasard le script de la procédure générant l'erreur, que j'avais piquée dans un tutoriel, je me rends compte pourquoi ça n'empêchait pas l'insertion malgré l'erreur : j'avais oublié l'index UNIQUE sur la colonne de message de la table des erreurs. Pour ceux que ça intéressent, voilà la solution : Une table d'erreurs avec un index UNIQUE sur le message d'erreur : Code :
Code :
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||||
|
00
|
|
|
#6 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
C'est astucieux comme moyen de faire sortir le message d'erreur
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com