Partager via


sp_dropextendedproperty (Transact-SQL)

S'applique à : SQL Server

Supprime une propriété étendue existante.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_dropextendedproperty
    [ @name = ] N'name'
    [ , [ @level0type = ] 'level0type' ]
    [ , [ @level0name = ] N'level0name' ]
    [ , [ @level1type = ] 'level1type' ]
    [ , [ @level1name = ] N'level1name' ]
    [ , [ @level2type = ] 'level2type' ]
    [ , [ @level2name = ] N'level2name' ]
[ ; ]

Arguments

[ @name = ] N’name'

Nom de la propriété à supprimer. @name est sysname et ne peut pas être NULL.

[ @level0type = ] 'level0type'

Nom du type d’objet de niveau 0 spécifié. @level0type est varchar(128), avec la valeur par défaut NULL.

Les entrées valides sont ASSEMBLY, FILEGROUPEVENT NOTIFICATIONMESSAGE TYPECONTRACTPARTITION FUNCTIONPARTITION SCHEMEUSERSERVICETRIGGERROUTESCHEMAREMOTE SERVICE BINDINGet . TYPENULL

Important

USER 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 = ] 'level1type'

Type d’objet de niveau 1. @level1type est varchar(128), avec la valeur par défaut NULL.

Les entrées valides sont AGGREGATE, LOGICAL FILE NAMEFUNCTIONRULEQUEUESYNONYMTABLEPROCEDUREDEFAULTTYPEVIEWTABLE_TYPEXML SCHEMA COLLECTIONet .NULL

[ @level1name = ] N’level1name'

Nom du type d’objet de niveau 1 spécifié. @level1name est sysname, avec la valeur par défaut NULL.

[ @level2type = ] 'level2type'

Type d’objet de niveau 2. @level2type est varchar(128), avec la valeur par défaut NULL.

Les entrées valides sont COLUMN, INDEXPARAMETERTRIGGERCONSTRAINTEVENT NOTIFICATION, et .NULL

[ @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 types et les noms de tous les objets de niveau supérieur.

Étant donné un nom de propriété valide @name, si tous les types d’objets et noms sont NULL et qu’une propriété existe sur la base de données active, cette propriété est supprimée. Consultez l’exemple B qui suit plus loin dans cet article.

autorisations

Les membres de l’db_owner et db_ddladmin rôles de base de données fixes peuvent supprimer 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 supprimer des propriétés étendues à des objets qu’ils possèdent, ou sur lesquels ils ont ALTER ou CONTROL ont des autorisations.

Exemples

R. Supprimer une propriété étendue sur une colonne

L'exemple suivant supprime la propriété caption de la colonne id de la table T1 contenue dans le schéma dbo.

CREATE TABLE T1 (id INT, name CHAR(20));
GO

EXEC sp_addextendedproperty @name = 'caption',
    @value = 'Employee ID',
    @level0type = 'SCHEMA',
    @level0name = N'dbo',
    @level1type = 'TABLE',
    @level1name = N'T1',
    @level2type = 'COLUMN',
    @level2name = N'id';
GO

EXEC sp_dropextendedproperty @name = 'caption',
    @level0type = 'SCHEMA',
    @level0name = N'dbo',
    @level1type = 'TABLE',
    @level1name = N'T1',
    @level2type = 'COLUMN',
    @level2name = N'id';
GO

DROP TABLE T1;
GO

B. Supprimer une propriété étendue sur une base de données

L’exemple suivant supprime la propriété nommée MS_Description de l’exemple AdventureWorks2022 de base de données. Étant donné que la propriété est dans la base de données, aucun type et nom d'objet n'est spécifié.

USE AdventureWorks2022;
GO

EXEC sp_dropextendedproperty @name = N'MS_Description';
GO