|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2006 Messages : 117 ![]() |
bonjour,
comment ecrire le code qui permet d'incremonterla valeur d'un champs d'une table dés qu'on insere un nouveau enregistrement dans une autre table à l'aide de trigger Merci d'avoir me repondre |
|
|
00
|
|
|
#2 | ||
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Salut,
Code :
|
||
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2006 Messages : 117 ![]() |
Bonjour,
J'ai créer un trigger ds mysql 5.0 comme suivant: DELIMITER | CREATE TRIGGER test BEFORE INSERT ON activite_journaliere FOR EACH ROW BEGIN UPDATE phase SET charge_reel = charge_reel+0.25 WHERE phase.code_phase=activite_journaliere.code_phase; END; | DELIMITER; mais il m'affiche un message d'erreur de syntaxe quand j'insere une nouvelle activité; Merci d'avance |
|
|
00
|
|
|
#4 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Dans un trigger avant/après insertion, l'objet NEW fait référence à la ligne qui va être ou a été insérée. Donc dans ton WHERE :
Code :
WHERE phase.code_phase = NEW.code_phase; Et enfin, au cas où tu n'y aurais pas penser, n'oublie pas qu'il te faudra aussi un trigger AFTER UPDATE dans le cas où le code_phase d'une activité changerait. Ainsi qu'un trigger AFTER DELETE dans le cas où une activité serait supprimée. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2006 Messages : 117 ![]() |
ca marche pour l'insertion d'une d'une nouvelle activité mais j'ai une erreur de syntaxe dans le trigger de delete voici mon code:
DELIMITER | CREATE TRIGGER tester AFTER DELETE activite_journaliere FOR EACH ROW BEGIN UPDATE phase SET charge_reel =charge_reel - 0.25 WHERE phase.code_phase=NEW.code_phase; END; | DELIMITER; Merci+++ |
|
|
00
|
|
|
#6 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Regarde le lien que je t'avais donné dans ma première réponse
Dans le cas d'un DELETE, ce n'est plus NEW mais ... (attention, suspense) OLD La prochaine fois : , c'est plus agréable à lire.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com