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

MS SQL Server Discussion :

récup clé primaire


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut récup clé primaire
    bonjour
    voilà j'ai un grand nombre de tables et je voudrais pour chacune d'elle récupérer le nom du/des champs de la clé primaire

    si vous avez des idées ou une ébauche de solution? merci

    en clair : comment récupérer le noms du/des champ(s) de la clé primaire d'une table?

  2. #2
    Membre chevronné
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Par défaut
    Slt,

    tu trouveras ton bonheur ici : http://www.sqlservercentral.com/Scri...0&categoryid=1

    a+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut
    merci bcp Gandalf, en effet j'y ai trouvé mon bonheur avec cette procédure :
    DB Details - Tables, Rows, Columns, Primary Keys
    pour ceux qui aurait le même besoin...

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Août 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 2
    Par défaut Ceci peut aussi te faire trouver le bonheur
    Pour extraire la colone cle d'une seule table execute:
    SELECT Column_name FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
    WHERE Constraint_Name =(select name from sysobjects WHERE xtype='pk' and parent_obj=object_id('<LE NOM DE TA TABLE ICI>'))

    Remarque que tu dois placer le nom de ta table la ou j'ai marque.

    Si tu veux extraire les colones cle de toutes tes tables dans ta base de donnees tu execute:

    SELECT table_name,Column_name FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
    WHERE Constraint_Name in(SELECT name from sysobjects WHERE xtype='pk')

    Tu peux stocker ces codes au serveur en creant une procedure comme ceci:

    Create proc ExtrairePK @table varchar(50)=null
    as
    if @table is null

    select table_name,Column_name from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
    where Constraint_Name in(select name from sysobjects where xtype='pk')

    else

    select table_name,Column_name from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
    where Constraint_Name in(select name from sysobjects where xtype='pk'
    and parent_obj=object_id(@table))

    Tu peux alors executer ceci en faisant simplement:
    Exec ExtrairePK --ceci te donnera toutes les colones cles dans la base
    ou
    Exec ExtrairePK 'ma table' --ceci te donnera les colones dans la table.

    Voila, Tu as la quelques versets de la bible du TSQL par Le Saint BertrandKis.

    Salut!

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

Discussions similaires

  1. Import data d'Excel ds 2 table lié par clé primaire
    Par lord_paco dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 10/05/2005, 09h31
  2. clé primaire aléatoire
    Par peuh dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 23/06/2003, 20h51
  3. Procédure stocké:Insert et renvoie de la clé primair
    Par caramel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/04/2003, 09h34
  4. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57
  5. pb de récup de handle à partir d'une dll
    Par yokito dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2002, 12h29

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