* Bonjour, *
Dans la même BD , j'ai 2 tables T1 et T2.
T1 contient entre autres une clé num_client et une colonne C1
T2 contient entre autres une clé num_client et une colonne C2.
La colonne num_client fait la jointure entre les 2 tables
Ce que je voudrais : lors d'un update de la table T1 , le champ C2 doit prendre la valeur de C1.
J'ai donc fait un trigger
et une fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TRIGGER Synchro AFTER UPDATE ON T1 FOR EACH ROW EXECUTE PROCEDURE Synchro() ;
Le pb est que toute la table T2 est mise à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE FUNCTION Synchro() RETURNS "trigger" AS $BODY$ DECLARE BEGIN UPDATE T2 SET C2 = C1 FROM T1 WHERE T2.num_client = T1.num_client RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;
Et je voudrais que cela soit seulement l'enregistrement de T2 qui est lié à celui de T1 par num_client
* Merci *
Partager