IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Cherche désespérement un champ dans une table


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Points : 9
    Points
    9
    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

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Regardez les tables system
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  3. #3
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    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 173
    Points
    1 173
    Par défaut
    Salut,
    je ne crois pas que ce soit possible, puisqu'un même nom de champ peut se triouver dans plusieurs tables....

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Tables sytem
    OK j'ai affiché mes tables system, mais je ne vois pas comment cela m'aide à trouver le champ...

  5. #5
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    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
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  6. #6
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    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/

  7. #7
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    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 173
    Points
    1 173
    Par défaut
    Citation Envoyé par Yanika_bzh Voir le message
    Les relations 1-N existent en SGBD
    Oui mais je vois pas le rapport stp

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 3
    Points
    3
    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

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select relname from pg_class t  join pg_attribute c on t.oid=c.attrelid where attname='nom_colonne'

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Merci
    Merci Xavier-Pierre,
    c'est la commande idéale pour cette recherche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. cherche requette pour trouver le nom des champs dans une table
    Par maverick56 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 12/07/2007, 10h28
  2. Modification du nom d'un champ dans une table
    Par reef1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/06/2004, 10h55
  3. Réponses: 2
    Dernier message: 19/05/2004, 10h13
  4. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo