Buen dia a todos tengo un trigger sobre una tabla que llame limpieza_colector este funciona bien excepto la ultima instruccion aqui el codigo
CREATE TRIGGER limpieza3 AFTER INSERT OR UPDATE ON public.limpieza_colector FOR EACH ROW EXECUTE PROCEDURE public.limpieza3(); CREATE OR REPLACE FUNCTION public.limpieza3() RETURNS trigger AS $BODY$ DECLARE tot numeric(7,2); r record; r2 record; i float; BEGIN select into r radio_influencia from limpieza_colector where gid = NEW.gid; i:= r.radio_influencia; --create temp table tabb as truncate opl_tabb; insert into opl_tabb(row_number,gid,st_centroid,b) select v.row_number, l.gid,st_centroid(st_intersection(v.the_geom,st_buffer(l.the_geom,i))), st_distance(st_centroid(st_intersection(v.the_geom,st_buffer(l.the_geom,i))),st_startpoint(st_linemerge(v.the_geom))) as b from al_buzon_geo l join opl_taba v on st_intersects(v.the_geom,st_buffer(l.the_geom,i)) and st_buffer(v.the_geom,i+1) && l.the_geom; --aqui un serie de consultas en otras tablas --forma 1 select into r2 sum(ml_lineales) tot from padron_limpieza7 where limpieza_id = NEW.gid; NEW.total := r2.tot; --forma 2 NEW.total := (select sum(ml_lineales) from padron_limpieza7 where limpieza_id = NEW.gid); --forma 3 NEW.total := 1000; RETURN NEW; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION public.limpieza3() OWNER TO postgres; El hecho es que he intentado actualizar el campo total de las 3 formas que se ven en el codigo el trigger es bastante largo hago una serie de consultas en otras tablas y actualizaciones todas funciona bien excepto de actualizar el campo total de la tabla limpieza_colector lo que ocurre aqui es que desde qgis se dibuja una linea y al momento de grabar ejecuto el trigger alguien tiene alguna experiencia de postgres con qgis. Que me de alguna luz porque el trigger no actualiza el campo en la tabla a que podria deberse si todo lo demas funciona sin problemas Atte -- José Mercedes Venegas Acevedo cel Mov RPC 964185205