sp_updateextendedproperty (Transact-SQL)

Met à jour la valeur d'une propriété étendue existante.

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

Syntaxe

sp_updateextendedproperty
    [ @name = ]{ 'property_name' } 
    [, [ @value = ]{ 'value' }
        [, [ @level0type = ]{ 'level0_object_type' }
                  , [ @level0name = ]{ 'level0_object_name' }
              [, [ @level1type = ]{ 'level1_object_type' }
                              , [ @level1name = ]{ 'level1_object_name' }
                     [, [ @level2type = ]{ 'level2_object_type' }
                                            , [ @level2name = ]{ 'level2_object_name' }
                     ]
              ]
        ]
    ]

Arguments

  • [ @name= ]{ 'property_name'}
    Nom de la propriété à mettre à jour. L'argument property_name est de type sysname et ne peut pas être NULL.
  • [ @value= ]{ 'value'}
    Valeur associée à la propriété. L'argument value est de type sql_variant, avec NULL comme valeur par défaut. La taille de value ne doit pas dépasser 7 500 octets.
  • [ @level0type= ]{ 'level0_object_type'}
    Utilisateur ou type défini par l'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.

    ms186885.note(fr-fr,SQL.90).gifImportant :
    USER et TYPE, comme types de niveau 0, seront supprimés dans une prochaine version 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, choisissez SCHEMA comme type de niveau 0, et TYPE comme type de niveau 1.
  • [ @level0name= ]{ 'level0_object_name'}
    Nom du type d'objet de niveau 1 spécifié. L'argument level0_object_name est de type sysname, avec NULL comme valeur par défaut.
  • [ @level1type= ]{ 'level1_object_type'}
    Type d'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.
  • [ @level1name= ]{ 'level1_object_name'}
    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.
  • [ @level2type= ]{ 'level2_object_type'}
    Type d'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 COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER et NULL.
  • [ @level2name= ]{ 'level2_object_name'}
    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.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

Les objets d'une base de données SQL Server sont répartis sur trois niveaux (0, 1 et 2) pour la définition des propriétés étendues. 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. Pour obtenir la liste complète des objets et de leurs types de niveau 0, 1 et 2 valides, consultez Utilisation de propriétés étendues sur les objets de base de données.

Avec des arguments property_name et valuevalides, si tous les types et noms d'objets sont NULL, la propriété mise à jour appartient à la base de données active.

Autorisations

Les membres des rôles de base de données fixes db_owner et db_ddladmin peuvent mettre à jour les propriétés étendues de n'importe quel objet, sauf dans le cas suivant : db_ddladmin ne peut pas ajouter de propriétés à la base de données elle-même, ni aux utilisateurs ou rôles.

Les utilisateurs peuvent mettre à jour les propriétés étendues des objets qu'ils possèdent ou pour lesquels ils disposent d'autorisations ALTER ou CONTROL. Pour obtenir la liste complète des autorisations requises, consultez Utilisation de propriétés étendues sur les objets de base de données.

Exemples

A. Mise à jour d'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 AdventureWorks;
GO
CREATE TABLE T1 (id int , name char (20));
GO
EXEC sp_addextendedproperty 
@name = N'Caption', @value = N'Employee ID', 
@level0type = N'Schema', @level0name = dbo, 
@level1type = N'Table',  @level1name = T1, 
@level2type = N'Column', @level2name = id;
GO
--Update the extended property.
EXEC sp_updateextendedproperty 
@name = N'Caption', @value = 'Employee ID must be unique.',
@level0type = N'Schema', @level0name = dbo, 
@level1type = N'Table',  @level1name = T1, 
@level2type = N'Column', @level2name = id;
GO

B. Mise à jour d'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 AdventureWorks puis met à jour la valeur de cette propriété.

USE AdventureWorks;
GO
EXEC sp_addextendedproperty 
@name = N'NewCaption', @value = 'AdventureWorks Sample OLTP Database';
GO
USE AdventureWorks;
GO
EXEC sp_updateextendedproperty 
@name = N'NewCaption', @value = 'AdventureWorks Sample Database';
GO

Voir aussi

Référence

Procédures stockées du moteur de base de données (Transact-SQL)
fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)

Autres ressources

Utilisation de propriétés étendues sur les objets de base de données
Affichage des propriétés étendues

Aide et Informations

Assistance sur SQL Server 2005