Partager via


fn_listextendedproperty (Transact-SQL)

Renvoie les valeurs des propriétés étendues des objets de base de données.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

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 fonctionnalités dans une nouvelle tâche de développement et prévoyez de modifier les applications qui les utilisent actuellement. À la place de USER, utilisez SCHEMA en tant que type de niveau 0. 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.

    Notes

    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 la colonne

Type de données

objtype

sysname

objname

sysname

name

sysname

valeur

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 AdventureWorks2008R2;
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 AdventureWorks2008 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 . Celle-ci est contenue dans le schéma Production.

USE AdventureWorks2008R2;
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 AdventureWorks2008R2;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO