Message posté par : Tony EMERY
----------------------------------------
Bonjour à tous.
Voici ma problématique :
j'ai, d'un côté, une liste de 6 tables contenant des grilles (10km, 5km, 2km,
1km, 500m et 200m).
De l'autre, j'ai une table d'iris contenant des analyses statistiques.
Je souhaite découper l'une avec l'autre de manière automatique avec un truc du
genre :
je créé une table contenant la liste des tables qui me servent à découper ma table des
iris :
-----------------
Code :
drop table if exists temp.liste_grilles_hexagonales;
create table temp.liste_grilles_hexagonales (fid serial,nom_table varchar(50));
insert into temp.liste_grilles_hexagonales values
(1,'hexagrille_10km'),
(2,'hexagrille_5km'),
(3,'hexagrille_2km'),
(4,'hexagrille_1km'),
(5,'hexagrille_500m'),
(6,'hexagrille_200m')
;
-----------------
J'ai créé une fonction qui lit cette première table, découpe les tables et met le
résultat de tout ça dans une nouvelle table.
Dans un premier temps, je suis parti d'une boucle juste pour créer une table pour
chaque ligne :
-----------------
Code :
create or replace function temp.lecture_grilles(force_drop int default 0)
returns void as
$body$
declare echelle record;
begin
for echelle in select * from temp.liste_grilles_hexagonales loop
execute format('drop table if exists
%I','temp.'||echelle.nom_table||'_sql');
execute format('create table %I (id serial primary
key)','temp.'||echelle.nom_table||'_sql');
end loop;
end;
$body$ language plpgsql;
-----------------
Mais cela ne fait rien : pas de table créée...
Auriez-vous une idée ?
Merci d'avance.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=344712#p344712
Pour y répondre : geobd(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