sys.fn_listextendedproperty (Transact-SQL)

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

Icône Lien de rubrique Conventions de la syntaxe 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é. 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 utilisateur. 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é. 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 d'objet de niveau 1. 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é. 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 d'objet de niveau 2. 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é. 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.

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

Voir aussi

Référence

sp_addextendedproperty (Transact-SQL)

sp_dropextendedproperty (Transact-SQL)

sp_updateextendedproperty (Transact-SQL)

sys.extended_properties (Transact-SQL)