fn_listextendedproperty (Transact-SQL)
Restituisce i valori delle proprietà estese degli oggetti di database.
Convenzioni della sintassi Transact-SQL
Sintassi
fn_listextendedproperty (
{ default | 'property_name' | NULL }
, { default | 'level0_object_type' | NULL }
, { default | 'level0_object_name' | NULL }
, { default | 'level1_object_type' | NULL }
, { default | 'level1_object_name' | NULL }
, { default | 'level2_object_type' | NULL }
, { default | 'level2_object_name' | NULL }
)
Argomenti
- { default | 'property_name' | NULL}
Nome della proprietà. property_name è di tipo sysname. I possibili valori sono default, NULL o un nome di proprietà.
{ default | 'level0_object_type' | NULL}
Utente o tipo definito dall'utente. 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, TRIGGER, TYPE, USER 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.
- { default | 'level0_object_name' | NULL }
Nome del tipo di oggetto di livello 0 specificato. level0_object_name è di tipo sysname e il valore predefinito è NULL. I possibili valori sono default, NULL o un nome di oggetto.
{ default | 'level1_object_type' | NULL }
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.[!NOTA] Il valore predefinito viene mappato a NULL e il parametro 'default' viene mappato al tipo di oggetto DEFAULT.
- {default | 'level1_object_name' |NULL }
Nome del tipo di oggetto di livello 1 specificato. level1_object_name è di tipo sysname e il valore predefinito è NULL. I possibili valori sono default, NULL o un nome di oggetto.
- { default | 'level2_object_type' |NULL }
Tipo di oggetto di livello 2. level2_object_type è di tipo varchar(128) e il valore predefinito è NULL. I possibili valori sono DEFAULT, default (mappato a NULL) e NULL. I possibili valori per level2_object_type sono COLUMN, PARAMETER, INDEX, CONSTRAINT, TRIGGER e NULL.
- { default | 'level2_object_name' |NULL }
Nome del tipo di oggetto di livello 2 specificato. level2_object_name è di tipo sysname e il valore predefinito è NULL. I possibili valori sono default, NULL o un nome di oggetto.
Tabelle restituite
Il formato delle tabelle restituite da fn_listextendedproperty è il seguente.
Nome colonna | Tipo di dati |
---|---|
objtype |
sysname |
objname |
sysname |
name |
sysname |
value |
sql_variant |
Se la tabella restituita è vuota, significa che all'oggetto non sono associate proprietà estese o che l'utente non è autorizzato a elencare le proprietà estese dell'oggetto. In caso di restituzione di proprietà estese per il database, le colonne objtype e objname saranno NULL.
Osservazioni
Se il valore di property_name è NULL o default, fn_listextendedproperty restituisce tutte le proprietà dell'oggetto specificato.
Se è specificato il tipo di oggetto e il valore del nome oggetto corrispondente è NULL o default, fn_listextendedproperty restituisce tutte le proprietà estese di tutti gli oggetti del tipo specificato.
Gli oggetti si differenziano in base al livello compreso tra 0, il livello superiore, e 2, il livello inferiore. Se si specificano il nome e il tipo di un oggetto di livello inferiore (1 o 2), per il tipo e il nome dell'oggetto padre è necessario assegnare valori diversi da NULL o dal valore predefinito. In caso contrario, la funzione restituisce un set di risultati vuoto.
Autorizzazioni
Le autorizzazioni per elencare le proprietà estese degli oggetti variano in base al tipo di oggetto. Per l'elenco completo delle autorizzazioni, vedere Utilizzo di proprietà estese su oggetti di database.
Esempi
A. Visualizzazione delle proprietà estese in un database
Nell'esempio seguente vengono visualizzate tutte le proprietà estese impostate in un oggetto di database.
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
Set di risultati:
objtype objname name value
--------- --------- ----------- ----------------------------
NULL NULL MS_Description AdventureWorks Sample OLTP Database
(1 row(s) affected)
B. Visualizzazione delle proprietà estese in tutte le colonne di una tabella
Nell'esempio seguente vengono elencate le proprietà estese delle colonne nella tabella ScrapReason
inclusa nello schema Production
.
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);
GO
Set di risultati:
objtype objname name value
------- ----------- ------------- ------------------------
COLUMN ScrapReasonID MS_Description Primary key for ScrapReason records.
COLUMN Name MS_Description Failure description.
COLUMN ModifiedDate MS_Description Date the record was last updated.
(3 row(s) affected)
C. Visualizzazione delle proprietà estese in tutte le tabelle incluse in uno schema
Nell'esempio seguente vengono elencate le proprietà estese di tutte le tabelle incluse nello schema Sales
.
USE AdventureWorks;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);
GO
Vedere anche
Riferimento
sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)
Altre risorse
Visualizzazione di proprietà estese