Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de données SQL dans Microsoft Fabric
Met à jour la valeur d'une propriété étendue existante.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_updateextendedproperty
[ @name = ] N'name'
[ , [ @value = ] value ]
[ , [ @level0type = ] 'level0type' ]
[ , [ @level0name = ] N'level0name' ]
[ , [ @level1type = ] 'level1type' ]
[ , [ @level1name = ] N'level1name' ]
[ , [ @level2type = ] 'level2type' ]
[ , [ @level2name = ] N'level2name' ]
[ ; ]
Arguments
[ @name = ] name
Nom de la propriété à mettre à jour. @name est sysname, sans valeur par défaut.
[ @value = ] valeur
Valeur associée à la propriété.
@value est sql_variant, avec la valeur par défaut NULL. La taille de la valeur ne peut pas dépasser 7 500 octets.
[ @level0type = ] 'niveau0type'
Type défini par l’utilisateur ou défini par l’utilisateur.
@level0type est varchar(128), avec la valeur par défaut NULL. Les entrées valides sont :
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
Important
USER et au fur et TYPE à mesure que les 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. Utilisez SCHEMA comme type de niveau 0 au lieu de USER. Pour TYPE, utilisez SCHEMA comme type de niveau 0 et TYPE comme type de niveau 1 .
[ @level0name = ] N’level0name'
Nom du type d’objet de niveau 0 spécifié.
@level0name est sysname, avec la valeur par défaut NULL.
[ @level1type = ] 'niveau1type'
Type d’objet de niveau 1.
@level1type est varchar(128), avec la valeur par défaut NULL. Les entrées valides sont :
ASSEMBLYCONTRACTEVENT NOTIFICATIONFILEGROUPMESSAGE TYPEPARTITION FUNCTIONPARTITION SCHEMEPLAN GUIDEREMOTE SERVICE BINDINGROUTESCHEMASERVICEUSERTRIGGERTYPENULL
[ @level1name = ] N’level1name'
Nom du type d’objet de niveau 1 spécifié.
@level1name est sysname, avec la valeur par défaut NULL.
[ @level2type = ] 'niveau2type'
Type d’objet de niveau 2.
@level2type est varchar(128), avec la valeur par défaut NULL. Les entrées valides sont :
COLUMNCONSTRAINTEVENT NOTIFICATIONINDEXPARAMETERTRIGGERNULL
[ @level2name = ] N’level2name'
Nom du type d’objet de niveau 2 spécifié.
@level2name est sysname, avec la valeur par défaut NULL.
Valeurs des codes de retour
0 (réussite) or 1 (échec).
Notes
Lorsque vous spécifiez des propriétés étendues, les objets d’une base de données SQL Server sont classés en trois niveaux (0, 1 et 2). Le niveau 0 est le niveau le plus élevé et est composé d'objets relevant de l'étendue de la base de données. Les objets de niveau 1 figurent dans l'étendue du schéma ou de l'utilisateur tandis que les objets de niveau 2 se trouvent dans les objets de niveau 1. Vous pouvez définir des propriétés étendues pour les objets de tous ces niveaux. Les références à un objet d'un niveau donné doivent être qualifiées par les noms des objets de niveau supérieur possédant ou contenant l'objet en question.
Étant donné une @name valide la base de données active.
autorisations
Les membres du db_owner et db_ddladmin rôles de base de données fixes peuvent mettre à jour les propriétés étendues d’un objet à l’exception suivante : db_ddladmin ne peut pas ajouter de propriétés à la base de données elle-même, ni aux utilisateurs ou aux rôles.
Les utilisateurs peuvent mettre à jour les propriétés étendues aux objets dont ils possèdent ou sur lesquels ils disposent d’autorisations ALTER ou CONTROL.
Exemples
R. Mettre à jour une propriété étendue sur une colonne
L'exemple suivant met à jour la valeur de la propriété Caption sur la colonne ID de la table T1.
USE AdventureWorks2022;
GO
CREATE TABLE T1 (id INT, name CHAR (20));
GO
EXECUTE sp_addextendedproperty
@name = N'Caption',
@value = N'Employee ID',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
--Update the extended property.
EXECUTE sp_updateextendedproperty
@name = N'Caption',
@value = 'Employee ID must be unique.',
@level0type = 'SCHEMA',
@level0name = N'dbo',
@level1type = 'TABLE',
@level1name = N'T1',
@level2type = 'COLUMN',
@level2name = N'id';
GO
B. Mettre à jour une propriété étendue sur une base de données
L'exemple suivant crée une propriété étendue sur l'exemple de base de données AdventureWorks2025 puis met à jour la valeur de cette propriété.
USE AdventureWorks2022;
GO
EXECUTE sp_addextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample OLTP Database';
GO
USE AdventureWorks2022;
GO
EXECUTE sp_updateextendedproperty
@name = N'NewCaption',
@value = 'AdventureWorks Sample Database';
GO