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 :

informations about all columns ..


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 74
    Points
    74
    Par défaut informations about all columns ..
    Using MSSQL Server, and so Transact SQL,
    How do I find the informations about all columns of all data bases in my server?


    En utilisant MSSQL Server, et ainsi le Transact SQL,

    Comment est-ce que je trouve les informations sur toutes les colonnes de toutes les bases de données dans mon serveur ?



    best regars...
    PMS

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut table master - information_schema - columns
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    USE master
     
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 74
    Points
    74
    Par défaut .. merci.. oui mais...
    Merci pour ta rponse,

    select * from information_schema.columns;

    renvoit les information des colonnes de la base utilisée et non pas de toutes les bases du serveurs...


    merci
    PMS

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    lance ce script:

    declare c_tables cursor for
    select name
    from master..sysdatabases

    declare @name varchar(50)
    declare @str varchar(500)

    open c_tables

    fetch next from c_tables into @name

    while @@fetch_status = 0
    begin

    set @str= 'select sys.name,col.name from '+@name+'..sysobjects sys
    inner join '+@name+'..syscolumns col on col.id=sys.id'

    exec(@str)
    fetch next from c_tables into @name
    end
    close c_tables
    deallocate c_tables
    Errare humanum est, perseverare diabolicum (Sénèque)

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par serge0934
    lance ce script:
    merci pour vos aides,
    mais
    oui je vois, ça marche, c'est cool...
    et si je n'ai besoins que des colonnes des bases de données crées par un user (sa y compris)?
    c'est à dire j'ai pas besoindes colonnes issues des tables system.

    merci,
    PMS

  6. #6
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    si tu ne veux que le nom des colonnes des tables remplace

    set @str= 'select sys.name,col.name from '+@name+'..sysobjects sys
    inner join '+@name+'..syscolumns col on col.id=sys.id'
    par

    set @str= 'select sys.name as nom_table,col.name as nom_colonne from '+@name+'..sysobjects sys
    inner join '+@name+'..syscolumns col on col.id=sys.id where sys.xtype='''U''''
    Errare humanum est, perseverare diabolicum (Sénèque)

  7. #7
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par serge0934
    si tu ne veux que le nom des colonnes des tables remplace



    par
    Merci pour vos aides que j'ai trouvée trés utiles,

    Et si je veux extraire les info sur les toutes les tables de toutes les bases de mon serveur, j'ai fait:

    declare c_tables cursor for
    select name
    from master..sysdatabases

    declare @name varchar(50)
    declare @str varchar(500)

    open c_tables

    fetch next from c_tables into @name

    while @@fetch_status = 0
    begin

    set @str= 'select sys.name,tab.name from '+@name+'..sysobjects sys
    inner join '+@name+'..systables tab on tab.id=sys.id'

    exec(@str)
    fetch next from c_tables into @name
    end
    close c_tables
    deallocate c_tables



    Mais ça marche pas...
    le message d'erreur étant:

    Nom d'objet 'master..systables' non valide.
    Nom d'objet 'tempdb..systables' non valide.
    Nom d'objet 'model..systables' non valide.
    Nom d'objet 'msdb..systables' non valide.
    Nom d'objet 'ma_base..systables' non valide.
    Nom d'objet 'mdm12..systables' non valide.




    ..... help??
    ----------------------------------------
    La liberté de l'esprit fait sa beauté.
    PMS

  8. #8
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    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
     
    declare c_tables cursor for
    select name
    from master..sysdatabases
     
    declare @name varchar(50)
    declare @str varchar(500)
     
    open c_tables
     
    fetch next from c_tables into @name
     
    while @@fetch_status = 0
    begin
     
    set @str= 'select sys.name,col.name from '+@name+'..sysobjects sys
    inner join '+@name+'..syscolumns col on col.id=sys.id and sys.xtype='''U''''
     
    exec(@str)
    fetch next from c_tables into @name
    end
    close c_tables
    deallocate c_tables
    Errare humanum est, perseverare diabolicum (Sénèque)

  9. #9
    Membre régulier
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par serge0934
    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
     
    declare c_tables cursor for
    select name
    from master..sysdatabases
     
    declare @name varchar(50)
    declare @str varchar(500)
     
    open c_tables
     
    fetch next from c_tables into @name
     
    while @@fetch_status = 0
    begin
     
    set @str= 'select sys.name,col.name from '+@name+'..sysobjects sys
    inner join '+@name+'..syscolumns col on col.id=sys.id and sys.xtype='''U''''
     
    exec(@str)
    fetch next from c_tables into @name
    end
    close c_tables
    deallocate c_tables
    Bonjour,
    Merci Serge,
    Le second script renvois ne renvois pas les tables mais toujours tous les colonnes du serveur.
    Je vai maintenant extraire les données sur toutes les tables du serveur..
    ??
    Merci,
    ----------------------------------------
    Dans le liberté de l'esprit réside sa beauté.
    PMS

Discussions similaires

  1. #1054 - Unknown column 'mod' in 'IN/ALL/ANY subquery'
    Par Dominique49 dans le forum Requêtes
    Réponses: 8
    Dernier message: 05/01/2012, 09h44
  2. English-speaking information about Sepi
    Par sjrd dans le forum Sepi
    Réponses: 0
    Dernier message: 08/09/2010, 19h09
  3. Réponses: 12
    Dernier message: 08/03/2006, 17h27
  4. [PRO*C] Recherche information
    Par Anonymous dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 04/04/2002, 17h53

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