Message posté par : JP LLORENS
----------------------------------------
Bonjour.
Votre trigger est lancé depuis la table 2 et met à jour cette même table.
Les valeurs NEW.XXX font référence aux valeurs des colonnes de la table appelante.
Dans votre trigger il faut lancer un update de la table 1.
Exemple :
-----------------
Code :
BEGIN
-- A chaque modification d'une conformité on va mettre à jour la référence du
dossier, le libelle et la date dans la table des précontentieux
update infractions_precontentieux set id_conformite = NEW.id_conformite_travaux ,
date_conformite = NEW.date_conformite, libelle = NEW.libelle
where infractions_precontentieux.dossier_regul = NEW.nom_dossier;
return NEW;
-----------------
Les NEW.XXX sont les valeurs de la table 2 que l'on bascule dans la table 1.
Mais attention, l'update va fonctionner que si l’identifiant servant de jointure dans
la ligne de la table 2 existe dans la table 1.
Il faut tester au préalable le statut du trigger (en INSERT ou UPDATE) avec la variable
TG_OP :
-----------------
Code :
IF TG_OP = 'INSERT' THEN insert into table1..
ELSEIF TG_OP = 'UPDATE' THEN update table1 set...
END IF;
-----------------
En fonction du statut vous adapterez les actions (insert ou update dans la table 1) à
réaliser
Cordialement
JP
PS : votre post n'est pas dans le bon forum => Géo'BD
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343580#p343580
Pour y répondre : geomatique(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net