sys.fn_listextendedproperty (Transact-SQL)
S’applique à : SQL Server
Azure SQL Database
Azure 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
{ par défaut | '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é.
{ par défaut | 'level0_object_type' | NULL}
Type défini par l'utilisateur ou utilisateur. level0_object_type est varchar(128), avec une valeur par défaut null.
Les entrées valides sont :
- ASSEMBLY
- CONTRACT
- EVENT NOTIFICATION
- GROUPE DE FICHIERS
- MESSAGE TYPE
- PARTITION FUNCTION
- PARTITION SCHEME
- REMOTE SERVICE BINDING
- ROUTE
- SCHEMA
- SERVICE
- TRIGGER
- TYPE
- Utilisateur
- NULL
Important
Les types 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.
{ par défaut | '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.
{ par défaut | '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
- NOM DE FICHIER LOGIQUE
- PROCEDURE
- QUEUE
- RULE
- SYNONYM
- TABLE
- TYPE
- VIEW
- XML SCHEMA COLLECTION
- 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 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.
{ par défaut | '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
{ par défaut | '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.
Notes
Si la valeur de property_name a la valeur 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.
objname est fixe comme Latin1_General_CI_AI. Toutefois, vous pouvez contourner ce problème en remplaçant le classement par 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 de 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)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour