Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 19 July 2011 14:57

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

[postgre/postgis] Récupérer le nom de la table pointée en SQL

Bonjour

J'ai une requête de création de table, celle-ci étant issu du croisement entre uen table référentielle et plusieurs tables métier/thématiques.

J'aimerais pouvoir récupérer le nom de la table via une requête SQL afin de,l'injecter dans le champ nom_table de ma table intermédiaire...

Y a-t-il moyen de réaliser cela?

Pour info, voici ma requête actuellement (elle utilise des fonctions spatiales):

Code:

insert into table_intermediaire 
      select COMMUNE.Nom_Commun As COMMUNE, 
             table_metier.PK_UID as UID, 
             table_metier.SITENAME as LIBELLE,
             (table_metier.[???] as nom_table)
             Area(Intersection(COMMUNE.Geometry,                  table_metier.Geometry))/Area(table_metier.Geometry)*100 as PROPORTION 
      from table_metier, COMMUNE 
      where Intersects(COMMUNE.Geometry,table_metier.Geometry);

geodata au cerema et petits billets en géomatique

Hors ligne

 

#2 Tue 19 July 2011 15:12

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: [postgre/postgis] Récupérer le nom de la table pointée en SQL

Bonjour,

Je déplace le message sur GeoBD. Mais ta question est curieuse car tu es censé connaitre le nom de la table que tu créés !

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Tue 19 July 2011 17:54

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: [postgre/postgis] Récupérer le nom de la table pointée en SQL

Oui, en effet :p

Mais y a-t-il moyen d'effectuer ceci?

Code:

insert into table_intermediaire 
      select COMMUNE.Nom_Commun As COMMUNE, 
             table_metier.PK_UID as UID, 
             table_metier.SITENAME as LIBELLE,
             "table_metier" as nom_table
             Area(Intersection(COMMUNE.Geometry,                  table_metier.Geometry))/Area(table_metier.Geometry)*100 as PROPORTION 
      from table_metier, COMMUNE 
      where Intersects(COMMUNE.Geometry,table_metier.Geometry);

geodata au cerema et petits billets en géomatique

Hors ligne

 

#4 Tue 19 July 2011 18:31

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1536

Re: [postgre/postgis] Récupérer le nom de la table pointée en SQL

baobazz a écrit:

Oui, en effet :p

Mais y a-t-il moyen d'effectuer ceci?

Code:

insert into table_intermediaire 
      select COMMUNE.Nom_Commun As COMMUNE, 
             table_metier.PK_UID as UID, 
             table_metier.SITENAME as LIBELLE,
             "table_metier" as nom_table
             Area(Intersection(COMMUNE.Geometry,                  table_metier.Geometry))/Area(table_metier.Geometry)*100 as PROPORTION 
      from table_metier, COMMUNE 
      where Intersects(COMMUNE.Geometry,table_metier.Geometry);


Bonjour,

Oui, en ecrivant une fonction (PLPGSQL par ex).

1°) Creation de la table avec mise dans une variable de ce nom.
2°) Utilisation de la variable dans la requete insert.

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB