sys.fn_listextendedproperty (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Retourne les valeurs de propriétés étendues d'objets de base de données.

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 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 varchar(128) avec la valeur NULL 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
  • TRIGGER
  • TYPE
  • Utilisateur
  • NULL

Important

USER et TYPE en tant que types de niveau 0 seront supprimé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 sysname avec la valeur NULL 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 varchar(128) avec la valeur NULL par défaut.
Les entrées valides sont :

  • AGGREGATE
  • DEFAULT
  • FUNCTION
  • LOGICAL FILE NAME
  • PROCEDURE
  • QUEUE
  • RULE
  • SYNONYM
  • TABLE
  • TYPE
  • VIEW
  • XML SCHEMA COLLECTION
  • 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é. level1_object_name est sysname avec la valeur NULL 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 varchar(128) avec la valeur NULL par défaut.
Les entrées valides sont :

  • DEFAULT
  • par défaut (mappe à NULL)
  • NULL. Les entrées valides pour level2_object_type sont les suivantes :
  • COLUMN
  • CONSTRAINT
  • EVENT NOTIFICATION
  • INDEX
  • PARAMÈTRE
  • TRIGGER
  • NULL

{ default | 'level2_object_name' | NULL }
Nom du type d'objet de niveau 2 spécifié. level2_object_name est sysname avec la valeur NULL 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
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.

Remarques

Si la valeur de property_name est NULL ou 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.

objname est résolu en tant que Latin1_General_CI_AI. Toutefois, vous pouvez contourner ce problème en remplaçant le classement en comparaison.

SELECT o.[object_id] AS 'table_id', o.[name] 'table_name',  
0 AS 'column_order', NULL AS 'column_name', NULL AS 'column_datatype',  
NULL AS 'column_length', Cast(e.value AS varchar(500)) AS 'column_description'  
FROM AdventureWorks.sys.objects AS o  
LEFT JOIN sys.fn_listextendedproperty(N'MS_Description', N'user',N'HumanResources',N'table', N'Employee', null, default) AS e  
    ON o.name = e.objname COLLATE SQL_Latin1_General_CP1_CI_AS  
WHERE o.name = 'Employee';  

Autorisations

Les autorisations d'affichage des propriétés étendues des objets peuvent varier selon le type d'objet.

Exemples

R. 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 AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty(default, default, default, default, default, default, default);  
GO  

Voici le jeu de résultats obtenu.

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 ScrapReason table. Celle-ci est contenue dans le schéma Production.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);  
GO  

Voici le jeu de résultats obtenu.

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 pour toutes les tables contenues dans le Sales schéma.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);  
GO  

Voir aussi

sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)