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
, FILEGROUP
EVENT NOTIFICATION
MESSAGE TYPE
CONTRACT
PARTITION FUNCTION
PARTITION SCHEME
USER
SERVICE
TRIGGER
ROUTE
SCHEMA
REMOTE SERVICE BINDING
et . TYPE
NULL
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 NAME
FUNCTION
RULE
QUEUE
SYNONYM
TABLE
PROCEDURE
DEFAULT
TYPE
VIEW
TABLE_TYPE
XML SCHEMA COLLECTION
et .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
, INDEX
PARAMETER
TRIGGER
CONSTRAINT
EVENT 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