Synchronisation de 2 champs sur 2 tables
* 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:
1 2 3 4 5 6
| CREATE TRIGGER Synchro
AFTER UPDATE
ON T1
FOR EACH ROW
EXECUTE PROCEDURE Synchro()
; |
et une fonction :
Code:
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 *