sp_dropextendedproperty (Transact-SQL)
Data aggiornamento: 5 dicembre 2005
Elimina un proprietà estesa esistente.
Convenzioni della sintassi Transact-SQL
Sintassi
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' }
]
]
]
]
Argomenti
- [ @name= ]{ 'property_name'}
Nome della proprietà che si desidera eliminare. property_name è di tipo sysname e non può essere NULL.
[ @level0type= ]{ 'level0_object_type'}
Nome del tipo di oggetto di livello 0 specificato. level0_object_type è di tipo varchar(128) e il valore predefinito è NULL.I possibili valori sono ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE e NULL.
Importante: I tipi USER e TYPE come tipi di livello 0 verranno rimossi in una versione futura di SQL Server. Evitare pertanto di utilizzarli in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui sono stati implementati. Utilizzare SCHEMA come tipo di livello 0 anziché USER. Per TYPE utilizzare SCHEMA come tipo di livello 0 e TYPE come tipo di livello 1.
- [ @level0name= ]{ 'level0_object_name'}
Nome del tipo di oggetto di livello 0 specificato. level0_object_name è di tipo sysname e il valore predefinito è NULL.
- [ @level1type= ]{ 'level1_object_type'}
Tipo di oggetto di livello 1. level1_object_type è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono AGGREGATE, DEFAULT, FUNCTION, LOGICAL FILE NAME, PROCEDURE, QUEUE, RULE, SYNONYM, TABLE, TYPE, VIEW, XML SCHEMA COLLECTION e NULL.
- [ @level1name= ]{ 'level1_object_name'}
Nome del tipo di oggetto di livello 1 specificato. level1_object_name è di tipo sysname e il valore predefinito è NULL.
- [ @level2type= ]{ 'level2_object_type'}
Tipo di oggetto di livello 2. level2_object_type è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono COLUMN, CONSTRAINT, EVENT NOTIFICATION, INDEX, PARAMETER, TRIGGER e NULL.
- [ @level2name= ]{ 'level2_object_name'}
Nome del tipo di oggetto di livello 2 specificato. level2_object_name è di tipo sysname e il valore predefinito è NULL.
Osservazioni
Ai fini della definizione delle proprietà estese, gli oggetti inclusi in un database di SQL Server vengono classificati in base a tre livelli, ovvero 0, 1 e 2. Il livello 0 è il livello più alto e viene definito come oggetti inclusi nell'ambito del database. Gli oggetti di livello 1 sono inclusi nell'ambito di uno schema o utente, mentre gli oggetti di livello 2 sono contenuti dagli oggetti di livello 1. È possibile definire le proprietà estese per gli oggetti di qualsiasi livello. I riferimenti a un oggetto presente in un livello devono essere qualificati con i tipi e i nomi di tutti gli oggetti di livello superiore.
Quando property_name è un valore valido, se tutti i tipi e i nomi di oggetto sono Null ed è disponibile una proprietà del database corrente, tale proprietà viene eliminata. Vedere l'esempio B di seguito.
Autorizzazioni
I membri dei ruoli predefiniti del database db_owner e db_ddladmin possono eliminare le proprietà estese di qualsiasi oggetto, anche se il ruolo db_ddladmin non può aggiungere proprietà al database stesso oppure a utenti o ruoli.
Gli utenti possono eliminare le proprietà estese degli oggetti di cui sono proprietari oppure per i quali dispongono delle autorizzazioni ALTER o CONTROL. Per l'elenco completo delle autorizzazioni richieste, vedere Utilizzo di proprietà estese su oggetti di database.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Esempi
A. Eliminazione di una proprietà estesa in una colonna
Nell'esempio seguente la proprietà 'caption'
viene rimossa dalla colonna id
nella tabella T1
inclusa nello schema 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. Eliminazione di una proprietà estesa in un database
Nell'esempio seguente la proprietà denominata MS
_Description
viene rimossa dal database di esempio AdventureWorks
. Poiché la proprietà si trova nel database stesso, non viene specificato alcun tipo e nome di oggetto.
USE AdventureWorks;
GO
EXEC sp_dropextendedproperty
@name = N'MS_Description';
GO
Vedere anche
Riferimento
Stored procedure del Motore di database (Transact-SQL)
fn_listextendedproperty (Transact-SQL)
sp_addextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)
Altre risorse
Utilizzo di proprietà estese su oggetti di database
Visualizzazione di proprietà estese
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|