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 :

Metadata des tables


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut Metadata des tables
    Bonjour,

    J'ai trouvé une pk dans master qui permet de récupérer les meta des procedures stockées ou les vues de ma base.

    i.e.
    sp_helptext maPk

    Mais je n'arrive pas à trouver un moyen pour obtenir la même chose pour les tables...

    En sachant que je travaille sur des sql server 2005 à 2008 R2 et que je développe sous delphi avec les objects zeos (et ado si nécessaire).

    Merci pour votre aide,

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 021
    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 : 22 021
    Billets dans le blog
    6
    Par défaut
    Utlisez déjà les vues d'information de schéma qui sont la norme SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT * FROM INFORMATION_SCHEMA.TABLES
     
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS
     
    SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
    SELECT * FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
     
    SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
    SELECT * FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
     
    SELECT * FROM INFORMATION_SCHEMA.VIEWS
    SELECT * FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
    SELECT * FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Merci SqlPro,

    mais si ceci me donne toutes les informations pour générer un script,
    c'est plutôt le script que je cherche à récupérer du style :


    CREATE TABLE [dbo].[maTbl](
    [ch1] [varchar](30) NOT NULL,
    [ch2] [datetime] NOT NULL,

    etc...

  4. #4
    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 : 44
    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
    Par défaut
    Bonjour,

    Si vous devez faire cela très rarement, et pour une table, il vous suffit de cliquer droit sur la table à scripter dans l'explorateur d'objets (F8), puis de choisir "Scripter la table en tant que" > "CREATE vers ...".

    De la même façon, on obtient le script de plusieurs tables avec les "Détails de l'explorateur d'objets" en cliquant sur le noeud tables > F7 > en sélectionnant les tables à scripter, "CREATE vers ...".

    Sinon, voyez le billet que j'ai écrit à ce sujet

    Ensuite il vous suffit de créer la procédure stockée dans la base de données master, et de la marquer la procédure comme objet système pour pouvoir l'utiliser dans n'importe quelle autre base de données de la même instance de SQL Server.
    Pour cela, un autre billet.

    Dans aucun de ces cas vous n'aurez le script de création des index non-cluster de la table, ni ses triggers éventuels.

    @++

  5. #5
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Merci elsuket,

    ça je m'en sert toute la journée, c'est par sql dont j'en ai besoin.

    L'objectif est justement de pouvoir récupérer, comme dans ssms les scripts de création des metas.

    Pour ce qui concerne code que vous avez écris, je suis persuadé qu'il est parfait, mais je suis certain qu'il est possible de récupérer les metas d'un object et même de la base complète.

    Mais de toute façon, merci pour votre attention à ce post.

  6. #6
    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 : 44
    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
    Par défaut
    Que vous faut-il exactement ?

    @++

Discussions similaires

  1. remplir des tables a partir de fichiers TXT
    Par jeremie dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/03/2004, 15h50
  2. [Volume des tables et performance]
    Par kase74 dans le forum InterBase
    Réponses: 9
    Dernier message: 09/03/2004, 15h14
  3. Afficher noms des tables d'une base
    Par jeff37 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/01/2004, 17h00
  4. Liste des tables d'une bases de données spécifique
    Par faridos23 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/08/2003, 23h20
  5. noms des tables d'une base
    Par molto dans le forum SQL
    Réponses: 2
    Dernier message: 17/03/2003, 23h14

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