Message posté par : Tony EMERY
----------------------------------------
-----------------
Ben22 écrit :
Bonjour,
Je me demande si la syntaxe 'temp.'||echelle.nom_table||'_sql' ne génère
pas trop de point positionnant temp comme une base de données et non un schéma.
Essayez peut-être de stocker "echelle.nom_table" dans une variable text au sein
de la boucle pour la réutiliser dans l'insert afin d’éliminer cette hypothèse.
Bien à vous
-----------------
Ok. Du coup, j'ai créé une variable pour récupérer le nom de la table et ça à
l'air de fonctionner :
-----------------
Code :
create or replace function temp.lecture_grilles(force_drop int default 0)
returns void as
$body$
declare echelle record;
declare nomtable text;
begin
for echelle in select * from temp.liste_grilles_hexagonales loop
nomtable := echelle.nom_table;
raise info 'A2 Suppression de la table temp.%_sql',nomtable;
execute format('drop table if exists temp.%I',nomtable||'_sql');
execute format('create table temp.%I (id serial primary
key)',nomtable||'_sql');
end loop;
end;
$body$ language plpgsql;
-----------------
Merci pour l'info.
Par contre, quelle est la différence entre mettre '%' ou mettre '%I' pour
récupérer la valeur d'une variable ?
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=344733#p344733
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