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 :

récupérer data types, taille et constraints


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 47
    Points
    47
    Par défaut récupérer data types, taille et constraints
    Bonjour,
    Je recherche une query qui me permette de récuperer les différentes informations qui définissent les données d'une colonne :
    - taille éventuelle (exemples : nvarchar(15), numeric9(10,2), etc.)
    - contraintes : primary key, unique, etc.

    J'ai déjà celle pour les noms des colonnes et les types de données mais pour le reste je ne trouve pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT COLUMN_NAME,DATA_TYPE
    FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE TABLE_NAME = 'ma_table'
    ORDER BY ORDINAL_POSITION
    Merci !!

  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,

    Je suis allé jusque-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SELECT        C.TABLE_NAME
            , C.COLUMN_NAME
            , C.DATA_TYPE
                + CASE 
                    WHEN C.DATA_TYPE IN ('char', 'varchar') THEN '(' + CAST(C.CHARACTER_MAXIMUM_LENGTH AS varchar(4)) + ')'
                    WHEN C.DATA_TYPE IN ('nchar', 'nvarchar') THEN '(' + CAST(C.CHARACTER_MAXIMUM_LENGTH / 2 AS varchar(4)) + ')'
                    WHEN C.DATA_TYPE IN ('decimal', 'numeric', 'float', 'real') THEN '(' + CAST(C.NUMERIC_PRECISION AS varchar(2)) + ',' + CAST(C.NUMERIC_SCALE AS varchar(2)) + ')'
                    ELSE ''
                END AS ALLOWED_MAX_SIZE
            , C.IS_NULLABLE
            , CCU.CONSTRAINT_NAME
    FROM        INFORMATION_SCHEMA.COLUMNS AS C
    LEFT JOIN    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE AS CCU
                ON C.TABLE_CATALOG = CCU.TABLE_CATALOG
                AND C.TABLE_SCHEMA = CCU.TABLE_SCHEMA
                AND C.TABLE_NAME = CCU.TABLE_NAME
                AND C.COLUMN_NAME = CCU.COLUMN_NAME
    WHERE        C.TABLE_CATALOG = 'maBD'
    AND        C.TABLE_SCHEMA = 'dbo'
    AND        C.TABLE_NAME = 'maTable'
    ORDER BY    C.TABLE_CATALOG
            , C.TABLE_SCHEMA
            , C.TABLE_NAME
            , C.ORDINAL_POSITION
    Et je me suis rappelé que j'ai posté deux billets là-dessus :

    - Générer le script de création d'une table existante
    - Éventuellement : Lister toutes les contraintes de clé étrangère d'une base de données

    @++

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Parfait!! C'est exactement ce qu'il me fallait

    BnLucky

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

Discussions similaires

  1. Récupérer le type et la taille d'une colonne
    Par Progs dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 23/09/2005, 17h27
  2. erreur Data type mismatch in criteria expression
    Par bachilbouzouk dans le forum ASP
    Réponses: 3
    Dernier message: 20/04/2005, 11h48
  3. datetime data type resulted in an out-of-range
    Par faamugol dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 20h51
  4. Récupérer le type de démarrage d'un service
    Par Nathan dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/04/2004, 15h07
  5. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46

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