|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
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, |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Utlisez déjà les vues d'information de schéma qui sont la norme SQL :
Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||
|
10
|
|
|
#3 |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
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... |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
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. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#5 |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
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. |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Que vous faut-il exactement ?
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#7 |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
Bonjour,
eh bien, j'ai besoin de pouvoir récupérer via une commande sql, (soit une pk ou autre), le script de génération des metas des objects, tables, vues, pk, index dans mon code de programmation sous delphi, donc soit en passant par zeos, soit par ADO. Ce que je peux faire en lancant la pk sp_helptext nompk, qui fonctionne pour les vues et les procédures stockées, mais pas pour les tables ni les index. merci pour votre aide. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
PK signifie Primary Key... QU'est ce que c'est que cette PK intitulée sp_helptext ?? Commencez à parler clairement et pas en SMS !
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#9 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
En fait je pense que par pk, castorcharly signifie procédure stockée.
Citation:
Votre but est-il : - de lister tous les objets d'une base de données, et de proposer par votre application un script de création de l'objet ? - de scripter tous les objets de la base de données comme une tâche récurrente (tout le code de création des objets est exporté dans un/des fichier de script) ? @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#10 | |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
Citation:
sp_heptext est une sp système fournie dans la db master à l'usage des développeurs, entre autre. |
|
|
|
01
|
|
|
#11 | |
|
Membre du Club
![]() Chef de projet Inscription : février 2009 Messages : 137 ![]() |
Citation:
Comme je vous l'ai dit, la sp_helptext avec comme param soit le nom d'une procedure, soit le nom d'un vue me donne satisfaction. Je peux donc par interrogation sql de cette proc (dans mon programme), récupérer les lignes me permettant de reconstruire un script de création, à l'identique de ce qui est déclaré dans la base. Il me manque la même chose, pour les tables. Je comprends bien sur, que le stockage des informations concernant les scripts des procédures stockées doit être fait d'une manière tout à fait différente pour les tables, j'espèrai seulement, qu'il existait une fonction permettant d'extraire les metas object par object, comme celà existe dans d'autre moteur ainsi qu'une fonction renvoyant l'extraction pour la totalité des objects de la base. Je serai d'ailleurs très étonné que celà n'existe pas, mais le nombre de fonctions, procédures, étant très fournis dans SQL serveur, il est difficile de tout trouver dans les docs et aide. Raison de ma demande ici, si qq. un a déjà trouvé. Merci |
|
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Non, une telle fonction n'existe pas car une table n'a pas de sens en tant qu'objet indépendant...
Ne serait-ce que pour les contraintes FK par exemple ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
Copyright © 2000-2012 - www.developpez.com