Je veux utiliser une boucle pour calculer la distance parcouru (j'utilise la fonction pgr_dijkstra)en supprimant à chaque fois une cellule.Une cellule contient plusieurs liens routiers.CREATE OR REPLACE FUNCTION distance()RETURNS table (agg_cost int)
language plpgsql as $$
DECLARE
r record;
agg_cost integer;
BEGIN
FOR r IN SELECT distinct(cellule) from grid_edges_routard
LOOP
SELECT agg_cost FROM pgr_dijkstra('SELECT id, source, target,cost
FROM road_routard.edges_vulnerabilite
where id not in (select edge_id
from grid_edges_routard
where cellule=r) ',152 ,17720, FALSE)
where edge=-1;
END LOOP;
return query select agg_cost;
end; $$;
select * FROM public.distance();
j'ai un message d'erreur : ERREUR: la référence à la colonne « agg_cost » est ambigu.
J'utilise postgresql 9.5
Partager