sp_dropextendedproperty (Transact-SQL)
Actualizado: 5 de diciembre de 2005
Quita una propiedad extendida existente.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_dropextendedproperty
[ @name = ] { 'property_name' }
[ , [ @level0type = ] { 'level0_object_type' }
, [ @level0name = ] { 'level0_object_name' }
[ , [ @level1type = ] { 'level1_object_type' }
, [ @level1name = ] { 'level1_object_name' }
[ , [ @level2type = ] { 'level2_object_type' }
, [ @level2name = ] { 'level2_object_name' }
]
]
]
]
Argumentos
- [ @name= ]{ 'property_name'}
Es el nombre de la propiedad que va a quitarse. property_name es de tipo sysname y no puede ser NULL.
[ @level0type= ]{ 'level0_object_type'}
Es el nombre del tipo de objeto de nivel 0 especificado. level0_object_type es de tipo varchar(128) y su valor predeterminado es NULL.Las entradas válidas son ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE y NULL.
Importante: USER y TYPE como tipos de nivel 0 se quitarán en una versión futura de SQL Server. Evite utilizar estas características en los nuevos trabajos de programación y planee modificar las aplicaciones que actualmente las utilizan. En lugar de USER, use SCHEMA como tipo de nivel 0. Para TYPE, use SCHEMA como tipo de nivel 0 y TYPE como tipo de nivel 1.
- [ @level0name= ] { 'level0_object_name' }
Es el nombre del tipo de objeto de nivel 0 especificado. level0_object_name es de tipo sysname y su valor predeterminado es NULL.
- [ @level1type= ]{ 'level1_object_type'}
Es el tipo de objeto de nivel 1.level1_object_type es varchar(128) y su valor predeterminado es NULL. Las entradas válidas son AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION y NULL.
- [ @level1name= ]{ 'level1_object_name'}
Es el nombre del tipo de objeto de nivel 1 especificado.level1_object_name es de tipo sysname y su valor predeterminado es NULL.
- [ @level2type= ]{ 'level2_object_type'}
Es el tipo de objeto de nivel 2.level2_object_type es de tipo varchar(128) y su valor predeterminado es NULL. Las entradas válidas son COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER y NULL.
- [ @level2name= ]{ 'level2_object_name'}
Es el nombre del tipo de objeto de nivel 2 especificado.level2_object_name es de tipo sysname y su valor predeterminado es NULL.
Notas
Para especificar propiedades extendidas, los objetos de una base de datos de SQL Server se clasifican en tres niveles (0, 1 y 2). El nivel 0 es el más alto y se define como los objetos contenidos en el ámbito de base de datos. Los objetos de nivel 1 están contenidos en el ámbito de esquema o usuario, y los objetos de nivel 2 están contenidos en objetos de nivel 1. Se pueden definir propiedades extendidas para los objetos de cualquiera de estos niveles. Las referencias a un objeto de un nivel deben completarse con los tipos y nombres de los objetos de nivel superior.
Dado un valor de property_name válido, si todos los tipos y nombres de objeto son NULL y existe una propiedad en la base de datos actual, esa propiedad se elimina. Vea el ejemplo B a continuación.
Permisos
Los miembros de las funciones fijas de las bases de datos db_owner y db_ddladmin pueden eliminar las propiedades extendidas de cualquier objeto con la siguiente excepción: db_ddladmin no puede agregar propiedades a la base de datos, a los usuarios o a las funciones.
Los usuarios pueden quitar propiedades extendidas para los objetos que poseen o en los que tienen permisos ALTER o CONTROL. Para obtener una lista completa de los permisos necesarios, vea Usar propiedades extendidas en objetos de base de datos.
Valores de código de retorno
0 (correcto) o 1 (error)
Ejemplos
A. Quitar una propiedad extendida de una columna
En el ejemplo siguiente se quita la propiedad 'caption'
de la columna id
de la tabla T1
contenida en el esquema dbo
.
CREATE TABLE T1 (id int , name char (20));
GO
EXEC sp_addextendedproperty
@name = 'caption'
,@value = 'Employee ID'
,@level0type = 'schema'
,@level0name = dbo
,@level1type = 'table'
,@level1name = 'T1'
,@level2type = 'column'
,@level2name = id;
GO
EXEC sp_dropextendedproperty
@name = 'caption'
,@level0type = 'schema'
,@level0name = dbo
,@level1type = 'table'
,@level1name = 'T1'
,@level2type = 'column'
,@level2name = id;
GO
DROP TABLE T1;
GO
B. Quitar una propiedad extendida de una base de datos
En el ejemplo siguiente se quita la propiedad denominada MS
_Description
de la base de datos de ejemplo AdventureWorks
. La propiedad se encuentra en la propia base de datos, por lo que no se especifican tipos ni nombres de objeto.
USE AdventureWorks;
GO
EXEC sp_dropextendedproperty
@name = N'MS_Description';
GO
Vea también
Referencia
Procedimientos almacenados del motor de base de datos (Transact-SQL)
fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)
Otros recursos
Usar propiedades extendidas en objetos de base de datos
Ver las propiedades extendidas
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
5 de diciembre de 2005 |
|