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

Développement SQL Server Discussion :

[SQL] Récupérer la table cible d'une foreign key


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Par défaut [SQL] Récupérer la table cible d'une foreign key
    Bonjour à tous,

    J'aurais voulu savoir comment récupérer le nom de la table cible d'une contrainte foreign key.
    Je récupère déjà les infos de la foreign key d'une table avec cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select *
    from INFORMATION_SCHEMA.TABLE_CONSTRAINTS pk
    where pk.TABLE_NAME = 'Personne'
    and pk.CONSTRAINT_TYPE='FOREIGN KEY'
    Mais il n'est pas possible de connaître le nom de la table "visée" par cette contrainte. Et je ne peux pas me contenter de découper le nom de la contrainte car l'utilisateur peut lui donner un nom tout autre que du type "fk_nomtable_nomtabledistante".

    Quelqu'un aurait une idée ?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2004
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2004
    Messages : 137
    Par défaut
    Bonjour,
    il existe une procédure stockée qui pourrait répondre à vos besoins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    exec sp_fkeys @fktable_name = 'Personne'
    avec la colonne 'PKTABLE_NAME'

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Par défaut
    Merci ben et nuts pour cette réponse. Je m'en vais la tester de ce pas.

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Si vous êtes sous SQL Server 2005 ou plus, voyez le petit billet que j'ai écrit à ce sujet

    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Par défaut
    Merci à vous (ben_et_nuts et elsuket) pour vos réponses j'ai de quoi progresser maintenant.

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

Discussions similaires

  1. Récupérer la table cible d'une foreign key
    Par thecrashteam dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/05/2010, 17h33
  2. [SQL] Récupérer la table cible d'une foreign key
    Par thecrashteam dans le forum SQL
    Réponses: 4
    Dernier message: 26/05/2010, 11h35
  3. Réponses: 2
    Dernier message: 26/01/2010, 14h50
  4. [SQL] Récupérer plusieurs lignes spécifiques d'une table
    Par Anduriel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/04/2006, 19h49
  5. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16

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