Sdílet prostřednictvím


sys.fn_listextendedproperty (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrací rozšířené hodnoty vlastností databázových objektů.

Transact-SQL konvence syntaxe

Syntaxe

  
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 }   
  )   

Arguments

{ výchozí | 'property_name' | NULL}
Je název nemovitosti. property_name je sysname. Platné vstupy jsou výchozí, NULL nebo název vlastnosti.

{ výchozí | 'level0_object_type' | NULL}
Je uživatelsky nebo uživatelsky definovaný typ. level0_object_type je varchar(128), s výchozím nastavením NULL.
Platné vstupy jsou:

  • ASSEMBLY
  • CONTRACT
  • OZNÁMENÍ UDÁLOSTI
  • SOUBOROVÁ SKUPINA
  • TYP ZPRÁVY
  • ROZDĚLOVACÍ FUNKCE
  • SCHÉMA ODDÍLŮ
  • PROPOJENÍ VZDÁLENÉ SLUŽBY
  • ROUTE
  • SCHEMA
  • SERVICE
  • TRIGGER
  • TYPE
  • USER
  • NULA

Důležité

USER a TYPE jako typy úrovně 0 budou v budoucí verzi SQL Serveru odstraněny. Vyhněte se používání těchto funkcí v nové vývojové práci a naplánujte úpravu aplikací, které tyto funkce aktuálně používají. Použijte SCHÉMA jako typ úrovně 0 místo USER. Pro TYPE použijte SCHEMA jako typ úrovně 0 a TYPE jako typ úrovně 1.

{ výchozí | 'level0_object_name' | NULL }
Je název typu objektu úrovně 0, který je specifikován. level0_object_name je sysname s výchozím nastavením NULL. Platné vstupy jsou výchozí, NULL nebo název objektu.

{ výchozí | 'level1_object_type' | NULL }
Je typ objektu úrovně 1. level1_object_type je varchar(128) s výchozím nastavením NULL.
Platné vstupy jsou:

  • AGGREGATE
  • DEFAULT
  • FUNCTION
  • LOGICKÝ NÁZEV SOUBORU
  • PROCEDURE
  • QUEUE
  • RULE
  • SYNONYM
  • STŮL
  • TYPE
  • VIEW
  • KOLEKCE SCHÉMAT XML
  • NULA

Poznámka:

Výchozí mapuje na NULL a "výchozí" na typ objektu DEFAULT.

{výchozí | 'level1_object_name' |NULL }
Je název typu objektu na úrovni 1, který je specifikován. level1_object_name je sysname s výchozím nastavením NULL. Platné vstupy jsou výchozí, NULL nebo název objektu.

{ výchozí | 'level2_object_type' |NULL }
Je typ objektu úrovně 2. level2_object_type je varchar(128) s výchozím nastavením NULL.
Platné vstupy jsou:

  • DEFAULT
  • výchozí (mapuje na NULL)
  • NULA. Platné vstupy pro level2_object_type jsou:
  • SLOUPEC
  • OMEZENÍ
  • OZNÁMENÍ UDÁLOSTI
  • INDEX
  • PARAMETR
  • TRIGGER
  • NULA

{ výchozí | 'level2_object_name' |NULL }
Je název specifikovaného typu objektu úrovně 2. level2_object_name je sysname s výchozím nastavením NULL. Platné vstupy jsou výchozí, NULL nebo název objektu.

Vrácené tabulky

Toto je formát tabulek vrácených fn_listextendedproperty.

Název sloupce Datový typ
Objtype sysname
objname sysname
název sysname
value sql_variant

Pokud je vrácená tabulka prázdná, objekt buď nemá rozšířené vlastnosti, nebo uživatel nemá oprávnění zobrazit rozšířené vlastnosti na objektu. Při vracení rozšířených vlastností přímo v databázi budou sloupce objtype a objname NULL.

Poznámky

Pokud je hodnota pro property_name NULL nebo výchozí, fn_listextendedproperty vrátí všechny vlastnosti pro daný objekt.

Když je typ objektu specifikován a hodnota odpovídajícího názvu objektu je NULL nebo výchozí, fn_listextendedproperty vrátí všechny rozšířené vlastnosti pro všechny objekty daného typu.

Objekty jsou rozlišovány podle úrovní, přičemž nejvyšší je úroveň 0 a úroveň 2 nejnižší. Pokud je specifikován typ a název objektu nižší úrovně 1 nebo 2, typ a název nadřazeného objektu by měly mít hodnoty, které nejsou NULL ani výchozí. Jinak funkce vrátí prázdnou množinu výsledků.

Objname je pevně Latin1_General_CI_AI. Nicméně to lze obejít tím, že přepsáte kolaci ve srovnání s tím.

SELECT o.[object_id] AS 'table_id', o.[name] 'table_name',  
0 AS 'column_order', NULL AS 'column_name', NULL AS 'column_datatype',  
NULL AS 'column_length', Cast(e.value AS varchar(500)) AS 'column_description'  
FROM AdventureWorks.sys.objects AS o  
LEFT JOIN sys.fn_listextendedproperty(N'MS_Description', N'user',N'HumanResources',N'table', N'Employee', null, default) AS e  
    ON o.name = e.objname COLLATE SQL_Latin1_General_CP1_CI_AS  
WHERE o.name = 'Employee';  

Povolení

Oprávnění k uvádění rozšířených vlastností objektů se liší podle typu objektu.

Examples

A. Zobrazení rozšířených vlastností v databázi

Následující příklad zobrazuje všechny rozšířené vlastnosti nastavené přímo na objektu databáze.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty(default, default, default, default, default, default, default);  
GO  

Tady je soubor výsledků.

objtype objname name value

--------- --------- ----------- ----------------------------

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Zobrazení rozšířených vlastností ve všech sloupcích tabulky

Následující příklad uvádí rozšířené vlastnosti sloupců v tabulce ScrapReason . To je obsaženo ve schématu Production.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Production', 'table', 'ScrapReason', 'column', default);  
GO  

Tady je soubor výsledků.

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. Zobrazení rozšířených vlastností na všech tabulkách v schématu

Následující příklad uvádí rozšířené vlastnosti pro všechny tabulky obsažené ve Sales schématu.

USE AdventureWorks2022;  
GO  
SELECT objtype, objname, name, value  
FROM fn_listextendedproperty (NULL, 'schema', 'Sales', 'table', default, NULL, NULL);  
GO  

Viz také

sp_addextendedproperty (Transact-SQL)
sp_dropextendedproperty (Transact-SQL)
sp_updateextendedproperty (Transact-SQL)
sys.extended_properties (Transact-SQL)