Vous n'êtes pas identifié(e).
Pages : 1
Merci pour votre réponse.
Il n'y aura pas d'exécution concurrente étant donné qu'une seule personne intervient sur cette base.
J'ai besoin d'afficher en temps réel le nombre d'interventions sur ouvrage pour des consultations de personnes tierces. C'est pourquoi le calcul au besoin n'est pas envisageable ce qui j'en conviens aurait été beaucoup plus simple pour moi étant novice dans les requêtes SQL.
Cependant, je n'utilise peut-être pas la bonne méthode pour arriver à mes fins.
Bonjour,
je me permets de vous solliciter après plusieurs tentatives,
Pour vous expliquer:
J'ai deux tables une intervention et l'autre ouvrage
Un champ id_ouvrage présent dans ma table intervention est renseigné automatiquement via une fonction trigger et un trigger lorsqu'une intervention est saisie sur cet ouvrage.
CREATE OR REPLACE FUNCTION public.id_equipt()
RETURNS trigger AS
$BODY$DECLARE
BEGIN
IF TG_OP = 'INSERT' or TG_OP = 'UPDATE' THEN
update public.intervention set id_ouvrage = public.ouvrage.id_ouvrage FROM public.ouvrage where st_intersects(intervention.geom, ouvrage.geom);
END IF;
return NEW;
END$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public.id_equipt()
OWNER TO postgres;
CREATE TRIGGER id_equipt
AFTER INSERT OR UPDATE OF geom
ON public.intervention
FOR EACH ROW
EXECUTE PROCEDURE public.id_equipt();
Jusque là tout fonctionne.
Je souhaite maintenant dans un champ nb_intervention contenu dans ma table ouvrage renseigner le nombre d'intervention effectué sur chacun des ouvrages.
Pour cela j'ai effectué une requête SQL simple
UPDATE ouvrage set nb_intervention = (select count(intervention.id_ouvrage) from intervention where st_intersects (ouvrage.geom, intervention.geom));
Cette requête fonctionne lorsque je l'exécute mais je souhaiterai l'automatiser.
Dès qu'une intervention est créé sur un ouvrage le nombre d'intervention augmente automatiquement.
Et là je sèche!
Si l'un d'entre vous peut m'apporter son aide...
Merci d'avance
Pages : 1