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 :

Colonnes des tables SQLServer 2008


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Points : 42
    Points
    42
    Par défaut Colonnes des tables SQLServer 2008
    Bonjour,
    J'aimerais savoir s'il y a un moyen de retrouver (j'imagine par requête) l'ensemble de toutes les colonnes (de toutes les tables) - avec leur propriétés- d'une base de données.J'ai cru comprendre que les "schémas d'information" serait la solution mais je ne vois pas comment.
    Merci d'avance

  2. #2
    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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous trouverez ici une requête qui scripte une table (colonnes et leurs types, contraintes, colonnes calculées et leurs formules, indexes, ...), vous pouvez vous en servir pour récupérer ce dont vous avez besoin.

    Si vous n'avez besoin que de la liste des colonnes de toutes les tables d'une base de données, vous pouvez effectivement écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT TABLE_CATALOG AS nomBD,
    		TABLE_SCHEMA AS nomSchema,
    		TABLE_NAME AS nomTable,
    		COLUMN_NAME AS nomColonne
    FROM INFORMATION_SCHEMA.COLUMNS
    ORDER BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
    Si vous souhaitez filtrer par table, vous devrez exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT TABLE_CATALOG AS nomBD,
    		TABLE_SCHEMA AS nomSchema,
    		TABLE_NAME AS nomTable,
    		COLUMN_NAME AS nomColonne
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = 'maTable'
    AND TABLE_SCHEMA = 'monSchema'
    ORDER BY TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
    monSchema peut être dbo ou tout autre schéma que vous aurez créé.
    Les vues INFORMATION_SCHEMA sont à la norme, ce qui fait que vous pourrez utiliser la même requête sur plusieurs SGBDR.

    Une autre possibilité si vous vous limitez à SQL Server est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT T.name AS nomTable,
    	C.name AS nomColonne
    FROM sys.tables AS T
    JOIN sys.colums AS C
    	ON T.object_id = C.object_id
    WHERE T.name = 'maTable'
    Vous pouvez éventuellement rajouter la jointure avec sys.schemas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT T.name AS nomTable,
    	C.name AS nomColonne
    FROM sys.tables AS T
    JOIN sys.colums AS C
    	ON T.object_id = C.object_id
    JOIN sys.schemas AS S
    	ON S.schema_id = T.schema_id
    WHERE T.name = 'maTable'
    AND S.name = 'monSchema'
    @++

  3. #3
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    Toutes les tables sont référencées dans INFORMATION_SCHEMA.TABLES
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from information_schema.tables
    et le colonnes dans INFORMATION_SCHEMA.COLUMNS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from information_schema.columns
    eh mince pas assez rapide

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 36
    Points : 42
    Points
    42
    Par défaut Colonnes des tables SQLServer 2008
    Je vous remercie beaucoup, vous m'avez été d'un grand secours

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

Discussions similaires

  1. Liste des serveurs SQLServer 2008
    Par YasserFlasher dans le forum Développement
    Réponses: 3
    Dernier message: 19/06/2011, 23h49
  2. Boucle foreach sur des tables SSIS 2008
    Par faten_ dans le forum SSIS
    Réponses: 3
    Dernier message: 17/08/2009, 11h19
  3. Parcourir les colonnes des tables entrées en paramètre
    Par squall62 dans le forum VBA Access
    Réponses: 7
    Dernier message: 29/09/2008, 09h24
  4. Php Mysql - nom colonnes des tables
    Par splend_f dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/04/2006, 12h03
  5. [FB 1.5][BCB5]Definition des colonnes des tables systemes ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 2
    Dernier message: 13/10/2004, 19h54

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