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

Requêtes PostgreSQL Discussion :

Générer le sql qui récupère la structure d'une table


Sujet :

Requêtes PostgreSQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 46
    Points : 33
    Points
    33
    Par défaut Générer le sql qui récupère la structure d'une table
    Amis du jour, bonjour

    Je viens recourir à l'aide de la communauté pour essayé de trouver une solution à mon problème qui est :

    J'ai besoin de retrouver les dépendances entre les tables via les clés étrangères et de pouvoir faire la correspondance entre.
    Concrètement j'y arrive déjà, le problème vient lorsque qu'une clé étrangère est composé de plusieurs champs...
    J'arrive aussi à les récupérer mais le problème est que ce n'est pas forcement le bon ordre et il me faut un moyen de savoir quelle clé est liée à quelle autre clé.

    Entre autres, il me faudrait le code SQL que utilise PgAdmin3 pour afficher la structure d'une table :

    Nom : 2018-04-24 09_18_58-pgAdmin III.png
Affichages : 734
Taille : 5,3 Ko

    Par exemple, ici, pgAdmin retrouve la contrainte avec les multi-champs dans l'ordre...

    Voici la requête que j'utilise pour retrouver les dépendances mais qui ne marche pas vraiment quand il y a plusieurs champs pour une clé étrangère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT
    tc.constraint_name as nom_fk, tc.table_name as table_out, kcu.column_name as colonne_out, 
    ccu.table_name AS table_in,
    ccu.column_name AS colonne_in 
    FROM 
    information_schema.table_constraints AS tc 
    JOIN information_schema.key_column_usage AS kcu
      ON tc.constraint_name = kcu.constraint_name
    JOIN information_schema.constraint_column_usage AS ccu
      ON ccu.constraint_name = tc.constraint_name
    WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='MA_TABLE';
    Merci d'avance !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 46
    Points : 33
    Points
    33
    Par défaut
    J'ai crée un post sur SOF qui traite de la question :

    https://stackoverflow.com/questions/...eign-on-order/

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

Discussions similaires

  1. Requête SQL pour récupérer la structure d'une table
    Par Emyleen dans le forum Développement
    Réponses: 2
    Dernier message: 10/09/2012, 16h57
  2. Fonction PL/SQL qui affiche le contenu d'une table
    Par diallams dans le forum PL/SQL
    Réponses: 3
    Dernier message: 02/05/2012, 17h40
  3. [MySQL] PHP Liste déroulante qui récupère les champs d'une table
    Par Cathe89 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2010, 11h55
  4. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 14h03

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