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 :

SQL pour visualiser le schema d'une table


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut SQL pour visualiser le schema d'une table
    Bonjour

    Je cherche la syntaxe SQL pour visualiser le schema d'une table en SQL Server

    La liste des champs avec les types ?

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    sp_help
    ou la vue INFORMATION_SCHEMA.COLUMNS

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Rudy

    C'est curieux que ces syntaxe soient toujours si esotériques

    A quand une syntaxe SQL standard du style

    select Table.schema from mytable

    ou

    select TableList from madatabase



  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 795
    Points : 3 071
    Points
    3 071
    Par défaut
    sp_help. Wow ! Superbe.

    Pour info, il est possible d'analyser le code source de la procédure en allant dans la db master.

    Ci-dessus un copy/paste du code trouvé. Il suffit d'adapter le nom de ta table.

    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
    25
    26
    27
    28
    29
    declare @objid int
    declare @sysobj_type char(2)
    declare @numtypes nvarchar(80)
            select @numtypes = N'tinyint,smallint,decimal,int,real,money,float,numeric,smallmoney'
    
    select @objid = object_id, @sysobj_type = type from sys.all_objects where object_id = object_id('NomDeLaTable')
    
    select
                'Column_name'            = name,
                'Type'                    = type_name(user_type_id),
                'Computed'                = case when ColumnProperty(object_id, name, 'IsComputed') = 0 then 'No' else 'Yes' end,
                'Length'                    = convert(int, max_length),
                'Prec'                    = case when charindex(type_name(system_type_id), @numtypes) > 0
                                            then convert(char(5),ColumnProperty(object_id, name, 'precision'))
                                            else '     ' end,
                'Scale'                    = case when charindex(type_name(system_type_id), @numtypes) > 0
                                            then convert(char(5),OdbcScale(system_type_id,scale))
                                            else '     ' end,
                'Nullable'                = case when is_nullable = 0 then 'No' else 'Yes' end,
                'TrimTrailingBlanks'    = case ColumnProperty(object_id, name, 'UsesAnsiTrim')
                                            when 1 then 'No'
                                            when 0 then 'Yes'
                                            else '(n/a)' end,
                'FixedLenNullInSource'    = case
                            when type_name(system_type_id) not in ('varbinary','varchar','binary','char')
                                then '(n/a)'
                            when is_nullable = 0 then 'No' else 'yes' end,
                'Collation'        = collation_name
            from sys.all_columns where object_id = @objid

  5. #5
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    pour utiliser sp_help en un clin d'oeil : sélectionner le nom d'une table dans Query Analyzer / SSMS (dans la fenêtre de code), et faire ALT+F1

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 719
    Points
    51 719
    Billets dans le blog
    6
    Par défaut
    INFORMATION_SCHEMA.COLUMNS est la norme SQL !

    A lire : http://sqlpro.developpez.com/cours/s...age=partie2#L9

    A +

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci a tous !

    Me voila plus malin !

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

Discussions similaires

  1. Requête SQL pour récupérer la structure d'une table
    Par Emyleen dans le forum Développement
    Réponses: 2
    Dernier message: 10/09/2012, 17h57
  2. Visualiser le contenue d'une table SQL server edition developer
    Par baboutom dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/04/2009, 10h04
  3. requete sql pour vider le contenu d'une colonne d'une table
    Par Sheppard38 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 26/06/2007, 15h20
  4. [A97] VBA : Commande sql pour insertion de champs dans une table
    Par JeremieT dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/07/2006, 14h12
  5. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 15h03

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