|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 85 ![]() |
Bonjour,
J'ai une table A, B et C tel que B et C héritent de A. J'ai un trigger sur A et je voudrais qu'il se déclenche aussi lorsqu'un tuple est inséré dans B et C (puisqu'ils héritent de A) hors il semblerait que cela ne fonctionne pas. J'ai bien pensé à écrire les triggers pour les deux tables B et C. Malheureusement une contrainte implique que l'id serial de A existe pour que le trigger fonctionne correctement. Hors il semble que l'id serial de A est affecté qu'après l'exécution du trigger en B ou C. Quelqu'un à une idée ? |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
Le trigger est du type AFTER INSERT ou bien BEFORE INSERT?
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 85 ![]() |
AFTER INSERT
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : octobre 2008 Messages : 1 505 ![]() |
Que B hérite de A ou pas, un INSERT dans B a exactement le même comportement.
Si une colonne SERIAL est déclarée dans A, sachant que serial est en fait un int avec une séquence en valeur par défaut, B a la même colonne avec la même séquence en valeur par défaut. Mais il n'y a aucune raison que le trigger after insert n'ait pas accès à cette valeur. Il doit y avoir un souci dans le code du trigger. |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 85 ![]() |
Pourtant sa marche si je me contente de mettre le trigger sur la table A.
Pas de problème dans ce cas là... Avec un insert sur A aussi bien sur. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com