* 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

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()
;
et une fonction :
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;
Le pb est que toute la table T2 est mise à jour.
Et je voudrais que cela soit seulement l'enregistrement de T2 qui est lié à celui de T1 par num_client

* Merci *