|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Bonjour à tous !
Alors voila je travaille actuellement sur GLPI et OCS Inventory (pour ceux qui connaissent) basés sur une base MySQL. Et je voudrais créer un TRIGGER qui a chaque insertion dans une table vérifie le champ et le supprime s'il correspond. Pour le moment j'ai ca... Code :
Code :
Version du serveur: 5.0.27-community-nt Donc normalement les Triggers sont possibles |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
A première vue, c'est FOR EACH ROW (sans S)
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Toujours pareil...
Code :
|
||
|
|
00
|
|
|
#4 | ||||
|
Expert Confirmé
![]() ![]() |
Bonjour,
Première erreur : Citation:
Citation:
Je ne sais pas si tu as donné la procédure complète mais il manque les fin de bloques : Code :
Attention au DELIMITER il est souvent source de problèmes, quel client utilise utilise tu ?
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
||||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
J'utilise PHPMyAdmin si c'est ce que tu veux savoir...
|
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() ![]() |
Dans ce cas tente ceci :
Code :
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
requête executée avec succès donc je vous tiens au courant pour voir si ca fonctionne réellement.
Merci |
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Maintenant quand j'essaye d'ajouter une imprimante dans ma table voici la réponse de MySQL
Code :
|
||
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() |
Cette erreur proviens du fait que qu'un verrous est posé lors de l'exécution du trigger, il deviens alors impossible de toucher a cette table avant la fin de l'execution du trigger.
Pourrait-tu nous expliquer a quoi va servir ce trigger afin de pouvoir tenter de te proposer une solution équivalent au DELETE
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Je suis actuellement en stage (je fini vendredi midi) et je dois installé glpi et ocs inventory.
je voudrais empeché toutes les imprimantes du type "PDFCreatpor" ou "Fax" ou "Microsoft XPS Document Writer" de s'afficher dans la base et donc je voulais faire un trigger pour vérifier à chaque insertion si oui ou non il faut l'insérer ou non ... |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Mon stage se finissant plus tôt que prévu à savoir jeudi soir, et voulant finir mon sujet de stage je voudrais savoir si quelqu'un pouvait m'aider à résoudre mon problème...
je ne vois vraiment pas ce qui cloche... je ne vois pas pourquoi le trigger bloque, y'a t'il une raison ? j'aimerai comprendre... aidez moi svp :-( |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() |
A vrai dire comme je disais, ton problème est un problème de verrous, et puisque la table est en mutation durant l'execution du trigger, c'est impossible d'agir sur cette-ci.
La solution qui résolverais directement ton problème au niveau du SQL procédural est : les exception. La marche a suivre est la suivante : 1/ déclarer une exception 2/ si il faut annuler l'insertion alors réveiller l'exception 3/ lui associer un code d'erreur qui sera récupérable coté applicatif. Je sais qu'avec Oracle c'est très facile mais j'avoue n'avoir jamais utilisé d'exception avec MySQL alors je ne saurais trop te conseiller de ce coté la, si ce n'est que de faire des recherche sur les exceptions avec le SQl procédural de MySQL. Quand un exception est levé, l'éxécution du bloc d'instruction est stopé.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : juin 2008 Messages : 12 ![]() |
Je vais essayer de regarder ca...
je vais chercher comment faire... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com