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 :

requete renvoyant la colonne réferencée par la clé étrangère


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut requete renvoyant la colonne réferencée par la clé étrangère
    salut,

    J'ai deux tables en sql server 2005, l'une contient une clé étrangère référençant la clè primaire de l'autre.
    J'ai besoin d'une requete qui me renvoie toutes les informations sur les contraintes de la table, à savoir ses clefs primaires et étrangères, les noms des colonnes correspondantes et les colonnes de références des clefs étrangères.
    j'ai essayé cette requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT * 
    FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE 
    WHERE 
    TABLE_NAME='NOM_TABLE'
    Mais cela ne m'affiche pas la colonne référencée par la clé étrangère.

    y a-t-il autre solution?

    Merci

    OS: windows XP

  2. #2
    Membre émérite Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Par défaut
    Bonjour,

    Je pense qu'il faut aller voir au niveau de REFERENTIAL_CONSTRAINTS

    http://msdn.microsoft.com/en-us/libr...SQL.80%29.aspx

    Cordialement,

    Arkhena

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut
    merci pour la réponse, mais cela ne marche pas j'ai déjà utilisé des requetes sur :
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
    et sur
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
    et
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    mais ca ne donne pas la colonne réferencée par la clé étrangère
    je pense à une autre solution: utiliser les procédures stockées de sql server comme le cas de sp_columns nom_table qui retourne les colonnes d'une table
    y a-t-il une procédure stockée qui retourne les informations sur les contraintes d'une table.
    Je m'explique, je veux afficher les noms des tables, les contraintes et leurs types (clé primaire ou étrangère) et le nom de la colonne référencée dans le cas d'une clé étrangère....etc

    J'espère que je me suis faite comprendre.

    merci d'avance



  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 26
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT 
        f.name AS foreign_key_name
       ,OBJECT_NAME(f.parent_object_id) AS table_name
       ,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name
       ,OBJECT_NAME (f.referenced_object_id) AS referenced_object
       ,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name
       ,is_disabled
       ,delete_referential_action_desc
       ,update_referential_action_desc
    FROM sys.foreign_keys AS f
    INNER JOIN sys.foreign_key_columns AS fc
    	ON f.object_id = fc.constraint_object_id
    Il est néanmoins préférable de passer par les vues du schéma INFORMATION_SCHEMA, mais je ne me suis pas penché sur la question ...

    Cordialement

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Par défaut
    Bonjour,

    Merci pour votre aide Oxiane, mais il me sort l'erreur suivante:


    Msg 208, Niveau 16, État 1, Ligne 1
    'sys.foreign_keys' : nom d'objet incorrect.
    Msg 208, Niveau 16, État 1, Ligne 1
    'sys.foreign_key_columns' : nom d'objet incorrect.

    Savez- vous pourquoi?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 26
    Par défaut
    Bonjour,


    vous êtes bien en SQL 2005 ? Pas en 2000 ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2010, 12h30
  2. Résultat de requete en colonne (mois par mois)
    Par lodan dans le forum Requêtes
    Réponses: 11
    Dernier message: 13/02/2008, 18h53
  3. Réponses: 5
    Dernier message: 27/06/2006, 20h27
  4. requete vers une colonne de type datetime
    Par Zorgz dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2003, 12h37
  5. Delphi7 winxp pro renvoyer un TLabel connu par nom
    Par regis1_1 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/06/2003, 11h09

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