Récupérer les commentaires

Le
The Best Poster
Bonjour,

Lors de la création d'une table, il est possible d'associer à chaque
champ une description (ou un commentaire). Je cherche le moyen de
récupérer ce commentaire associé aux champs de mes tables.
Comment faire ?

Merci de votre aide.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #21437011
Bonjour,

Elles sont sans doute enregistrées en tant que "propriétés étendues". Voir
par exemple :
http://msdn.microsoft.com/fr-fr/library/ms177541(SQL.90).aspx (vue
sys.extended_properties)

--
Patrice

"The Best Poster" groupe de discussion : hofdp6$4qh$
Bonjour,

Lors de la création d'une table, il est possible d'associer à chaque champ
une description (ou un commentaire). Je cherche le moyen de récupérer ce
commentaire associé aux champs de mes tables.
Comment faire ?

Merci de votre aide.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe qui."
(Jean ferrat)


Fred
Le #21437501
"The Best Poster" groupe de discussion : hofdp6$4qh$
Bonjour,



Bonjour,

Lors de la création d'une table, il est possible d'associer à chaque
champ une description (ou un commentaire). Je cherche le moyen de
récupérer ce commentaire associé aux champs de mes tables.
Comment faire ?



En complément du lien de Patrice, voici une petite requête dont tu
pourras t'inspirer :

SELECT S.name AS [schema],
T.name AS [table],
C.name AS [column],
D.value AS [description]
FROM sys.columns as C
INNER JOIN sys.tables AS T ON C.[object_id] = T.[object_id]
INNER JOIN sys.schemas AS S ON T.[schema_id] = S.[schema_id]
OUTER APPLY fn_listextendedproperty (
'MS_Description',
'SCHEMA',
S.name,
'TABLE',
T.name,
'COLUMN',
C.name) AS D
ORDER BY [schema], [table], C.column_id

L'étape suivante est d'en faire une vue pour la saisie, au moyen d'un
trigger INSTEAD OF UPDATE.
En gros, on remplace l'action d'update sur la colonne [description] par
un appel à sp_addextendedproperty ou sp_updateextendedproperty


--
Fred

The Best Poster
Le #21437491
Fred a utilisé son clavier pour écrire :
"The Best Poster" de discussion : hofdp6$4qh$
Bonjour,



Bonjour,

Lors de la création d'une table, il est possible d'associer à chaque champ
une description (ou un commentaire). Je cherche le moyen de récupérer ce
commentaire associé aux champs de mes tables.
Comment faire ?



En complément du lien de Patrice, voici une petite requête dont tu pourras
t'inspirer :

SELECT S.name AS [schema],
T.name AS [table],
C.name AS [column],
D.value AS [description]
FROM sys.columns as C
INNER JOIN sys.tables AS T ON C.[object_id] = T.[object_id]
INNER JOIN sys.schemas AS S ON T.[schema_id] = S.[schema_id]
OUTER APPLY fn_listextendedproperty (
'MS_Description',
'SCHEMA',
S.name,
'TABLE',
T.name,
'COLUMN',
C.name) AS D
ORDER BY [schema], [table], C.column_id

L'étape suivante est d'en faire une vue pour la saisie, au moyen d'un trigger
INSTEAD OF UPDATE.
En gros, on remplace l'action d'update sur la colonne [description] par un
appel à sp_addextendedproperty ou sp_updateextendedproperty




Merci de vos réponses. J'ai réglé le problème avec la requête suivante
:

USE AdventureWorks;
GO
SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column
Name], value AS [Extended Property]
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND
ep.minor_id = c.column_id
WHERE class = 1;
GO

trouvée ici http://msdn.microsoft.com/en-us/library/ms186989.aspx

Cela me permet, dans mon interface, d'afficher les champs avec un
tooltip qui donne la description du champ.

Merci de vos conseils.

--
"Plaire à tout le monde et à personne, c'est pas donné à n'importe
qui." (Jean ferrat)
Serguei Tarassov
Le #21447221
On 25/03/2010 11:25, The Best Poster wrote:
Bonjour,

Lors de la création d'une table, il est possible d'associer à chaque
champ une description (ou un commentaire). Je cherche le moyen de
récupérer ce commentaire associé aux champs de mes tables.
Comment faire ?

Merci de votre aide.




Bonjour,

Cela dépende de vos objectifs.

Si vous n'avez besoin que se renseigner ces commentaires (i.e. pour les
développeurs) l'utilisation des propriétés étendus sera suffisante.

Si vous pensez piloter vos applications par les méta-données (i.e.
libellés au niveau de présentation des données, génération du code CRUD,
construction des requêtes utilisateurs QBE etc) ce sera une bonne idée
de créer vos propres structures.


A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Publicité
Poster une réponse
Anonyme