fn_listextendedproperty (Transact-SQL)
Renvoie les valeurs des propriétés étendues des objets de base de données.
Syntaxe
fn_listextendedproperty (
{ default | 'property_name' | NULL }
, { default | 'level0_object_type' | NULL }
, { default | 'level0_object_name' | NULL }
, { default | 'level1_object_type' | NULL }
, { default | 'level1_object_name' | NULL }
, { default | 'level2_object_type' | NULL }
, { default | 'level2_object_name' | NULL }
)
Arguments
{ default | 'property_name' | NULL}
Nom de la propriété. L'argument property_name est de type sysname. Les entrées autorisées sont les valeurs par défaut, NULL, ou un nom de propriété.{ default | 'level0_object_type' | NULL}
Type défini par l'utilisateur ou type utilisateur. L'argument level0_object_type est de type varchar(128), avec NULL comme valeur par défaut. Les entrées valides sont ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE, et NULL.Important
Les types de niveau 0 USER et TYPE seront éliminés dans une version ultérieure de SQL Server. Évitez d'utiliser ces fonctions dans un nouveau travail de développement et prévoyez la modification des applications qui les utilisent actuellement. Utilisez SCHEMA comme type de niveau 0 à la place de USER. Pour TYPE, utilisez SCHEMA comme type de niveau 0 et TYPE comme type de niveau 1.
{ default | 'level0_object_name' | NULL }
Nom du type d'objet de niveau 0 spécifié. L'argument level0_object_name est de type sysname, avec NULL comme valeur par défaut. Les entrées autorisées sont les valeurs par défaut, NULL, ou un nom d'objet.{ default | 'level1_object_type' | NULL}
Type de l'objet de niveau 1. L'argument level1_object_type est de type varchar(128), avec NULL comme valeur par défaut. Les entrées valides sont AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION, et NULL.[!REMARQUE]
La valeur par défaut correspond à la valeur NULL, et la valeur 'default' est mappée sur le type d'objet DEFAULT.
{default | 'level1_object_name' |NULL }
Nom du type d'objet de niveau 1 spécifié. L'argument level1_object_name est de type sysname , avec NULL comme valeur par défaut. Les entrées autorisées sont les valeurs par défaut, NULL, ou un nom d'objet.{ default | 'level2_object_type' | NULL}
Type de l'objet de niveau 2. L'argument level2_object_type est de type varchar(128), avec NULL comme valeur par défaut. Les entrées valides sont DEFAULT, la valeur par défaut (qui correspond à la valeur NULL) et NULL. Les entrées valides pour level2_object_type sont COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER et NULL.{ default | 'level2_object_name' | NULL}
Nom du type d'objet de niveau 2 spécifié. L'argument level2_object_name est de type sysname, avec NULL comme valeur par défaut. Les entrées autorisées sont les valeurs par défaut, NULL, ou un nom d'objet.
Tables retournées
Le format des tables renvoyées par l'instruction fn_listextendedproperty est le suivant :
Nom de colonne |
Type de données |
---|---|
objtype |
sysname |
objname |
sysname |
name |
sysname |
value |
sql_variant |
Si la table renvoyée est vide, l'objet ne dispose pas de propriétés étendues, ou l'utilisateur n'est pas habilité à afficher la liste des propriétés étendues associées à cet objet. Lorsque les propriétés étendues de la base de données proprement dite sont retournées, les colonnes objtype et objname ont la valeur NULL.
Notes
Si la valeur de property_name est NULL ou la valeur par défaut, fn_listextendedproperty retourne toutes les propriétés de l'objet spécifié.
Lorsque le type d'objet est spécifié et que la valeur du nom d'objet correspondant est NULL ou la valeur par défaut, fn_listextendedproperty retourne toutes les propriétés étendues de tous les objets du type spécifié.
Les objets se distinguent selon des niveaux : le niveau 0 étant le plus élevé et le niveau 2 le moins élevé. Si un type et un nom d'objet de niveau inférieur (niveau 1 ou 2) sont spécifiés, le type et le nom de l'objet parent ne doivent pas comporter la valeur NULL ou la valeur par défaut. Autrement, la fonction renvoie un jeu de résultats vide.
Autorisations
Les autorisations d'affichage des propriétés étendues des objets peuvent varier selon le type d'objet. Pour obtenir une liste complète des autorisations, consultez Utilisation de propriétés étendues sur les objets de base de données.
Exemples
A. Affichage des propriétés étendues d'une base de données
L'exemple suivant affiche toutes les propriétés étendues de l'objet de base de données lui-même.
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
Voici l'ensemble des résultats.
objtype objname name value
--------- --------- ----------- ----------------------------
NULL NULL MS_Description AdventureWorks Sample OLTP Database
(1 row(s) affected)
B. Affichage des propriétés étendues de toutes les colonnes d'une table
L'exemple suivant répertorie les propriétés étendues des colonnes de la table ScrapReason . Elles sont contenues dans le schéma Production.
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO
Voici l'ensemble des résultats.
objtype objname name value
------- ----------- ------------- ------------------------
COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.
COLUMN Name MS_Description Failure description.
COLUMN ModifiedDate MS_Description Date the record was last updated.
(3 row(s) affected)
C. Affichage des propriétés étendues de toutes les tables d'un schéma
L'exemple suivant répertorie les propriétés étendues des tables du schéma Sales .
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO