Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2008, 17h41   #1
Invité de passage
 
Inscription : juin 2008
Messages : 10
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 10
Points : 2
Points : 2
Par défaut Cherche désespérement un champ dans une table

bonjour à tous,

j'ai une base postgres avec environ 60 tables.
Je recherche la table dans laquelle j'ai un champ précis.
Existe-t-il une commande sql du genre 'SELECT mon_champ from *' qui pourrait faire cela?
Est-ce possible de faire une recherche de ce type et d'avoir le nom de la table en sortie?

Merci
grenouille2008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 18h03   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Regardez les tables system
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 18h09   #3
Membre extrêmement actif
 
Avatar de fally
 
Homme
Développeur .Net / BI
Inscription : novembre 2007
Messages : 966
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Développeur .Net / BI

Informations forums :
Inscription : novembre 2007
Messages : 966
Points : 1 097
Points : 1 097
Envoyer un message via MSN à fally Envoyer un message via Yahoo à fally
Salut,
je ne crois pas que ce soit possible, puisqu'un même nom de champ peut se triouver dans plusieurs tables....
fally est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 18h39   #4
Invité de passage
 
Inscription : juin 2008
Messages : 10
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 10
Points : 2
Points : 2
Par défaut Tables sytem

OK j'ai affiché mes tables system, mais je ne vois pas comment cela m'aide à trouver le champ...
grenouille2008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2008, 07h43   #5
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Citation:
Envoyé par fally Voir le message
Salut,
je ne crois pas que ce soit possible, puisqu'un même nom de champ peut se triouver dans plusieurs tables....
Les relations 1-N existent en SGBD
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2008, 09h24   #6
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Salut !

Tous les SGBD sont sensés avoir un catalogue qui répertorie tous les objets de la BD. Le nom des tables "systèmes" et l'organisation dépend du SGBD.
Mais typiquement, tu as des tables qui s'appellent (par exemple) :
- SYSTABLES (TABLE_NAME, ...) : la table qui répertorie toutes les tables
- SYSCOLUMNS (TABLE_NAME, COLUMN_NAME, ...) : la table qui répertorie toutes les colonnes de toutes les tables.

Tu es sous quel SGBD ?
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/08/2008, 16h00   #7
Membre extrêmement actif
 
Avatar de fally
 
Homme
Développeur .Net / BI
Inscription : novembre 2007
Messages : 966
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Bénin

Informations professionnelles :
Activité : Développeur .Net / BI

Informations forums :
Inscription : novembre 2007
Messages : 966
Points : 1 097
Points : 1 097
Envoyer un message via MSN à fally Envoyer un message via Yahoo à fally
Citation:
Envoyé par Yanika_bzh Voir le message
Les relations 1-N existent en SGBD
Oui mais je vois pas le rapport stp
fally est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2008, 13h33   #8
Invité de passage
 
Inscription : août 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 6
Points : 2
Points : 2
Par défaut Sous oracle ...

Salut,
Je ne connais pas très bien postgres, mais pour ceux que ca interesse voici comment faire sous Oracle :

-- récupérer l'object ID correspondant à une table :
select object_id from all_objects where object_name = '<nom de la table>' and object_type = 'TABLE'

-- récupérer une colonne de la table :
select * from sys.col$ where obj# = <object ID récupéré précédemment> and name = '<Nom colonne>'

A partir de ca, on peu récupérer tous les object ID des tables qui contiennent un champ d'un nom donné, et ainsi voir toutes ces tables. voila.

Comme le dit pacmann, il doit très probablement exister des tables système dans ta base de données qui référence les objets qu'elle contient, y compris les tables et les colonnes.
Donc je te conseille de chercher sur la doc des tables systèmes si de telles tables existent

Bon courage
mazerol338 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2008, 02h19   #9
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
bonsoir,

Code :
SELECT relname FROM pg_class t  JOIN pg_attribute c ON t.oid=c.attrelid WHERE attname='nom_colonne'
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2008, 15h48   #10
Invité de passage
 
Inscription : juin 2008
Messages : 10
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 10
Points : 2
Points : 2
Par défaut Merci

Merci Xavier-Pierre,
c'est la commande idéale pour cette recherche.
grenouille2008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h13.


 
 
 
 
Partenaires

Hébergement Web