sys.fn_listextendedproperty (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Veritabanı nesnelerinin genişletilmiş özellik değerlerini döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

  
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

{ varsayılan | 'property_name' | NULL}
Mülkün adı. property_namesysname. Geçerli girdiler varsayılan olarak NULL veya bir özellik adıdır.

{ varsayılan | 'level0_object_type' | NULL}
Kullanıcı veya kullanıcı tarafından tanımlanan türdür. level0_object_typevarchar(128)'dir ve varsayılan olarak NULL'dur.
Geçerli girdiler şunlardır:

  • ASSEMBLY
  • CONTRACT
  • EVENT NOTIFICATION
  • DOSYA GRUBU
  • MESSAGE TYPE
  • PARTITION FUNCTION
  • PARTITION SCHEME
  • REMOTE SERVICE BINDING
  • ROUTE
  • SCHEMA
  • SERVICE
  • TRIGGER
  • TYPE
  • USER
  • null

Önemli

USER ve TYPE seviye-0 tipleri SQL Server'ın gelecekteki bir sürümünde kaldırılacaktır. Bu özellikleri yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özellikleri kullanan uygulamaları değiştirmeyi planlayın. SCHEMA Seviye 0 türü olarak kullanın, yerine USER. Için TYPE, seviye 0 tipi olarak ve SCHEMA seviye 1 tipi olarak kullanınTYPE.

{ varsayılan | 'level0_object_name' | NULL }
Seviye 0 nesne türünün adı belirtilmiştir. level0_object_name , varsayılan olarak NULL olan sysname'dir . Geçerli girdiler varsayılan olarak NULL veya nesne adıdır.

{ varsayılan | 'level1_object_type' | NULL }
Seviye 1 nesnenin türü. level1_object_typevarchar(128) ve varsayılan olarak NULL'dur.
Geçerli girdiler şunlardır:

  • AGGREGATE
  • DEFAULT
  • FUNCTION
  • MANTIKSAL DOSYA ADI
  • PROCEDURE
  • QUEUE
  • RULE
  • SYNONYM
  • TABLE
  • TYPE
  • VIEW
  • XML SCHEMA COLLECTION
  • null

Uyarı

Varsayılan eşlemeler NULL'a ve 'varsayılan' eşlemeler nesne türüne DEFAULTeşlenir.

{varsayılan | 'level1_object_name' |NULL }
Seviye 1 nesne türünün adı belirtilmiştir. level1_object_name , varsayılan olarak NULL olan sysname'dir . Geçerli girdiler varsayılan olarak NULL veya nesne adıdır.

{ varsayılan | 'level2_object_type' |NULL }
Seviye 2 nesnenin türü. level2_object_typevarchar(128) ve varsayılan olarak NULL'dur.
Geçerli girdiler şunlardır:

  • DEFAULT
  • varsayılan (NULL'a eşlemek)
  • SIFIR. level2_object_type için geçerli girdiler şunlardır:
  • COLUMN
  • KISITLAMA
  • EVENT NOTIFICATION
  • INDEX
  • PARAMETRE
  • TRIGGER
  • null

{ varsayılan | 'level2_object_name' |NULL }
Seviye 2 nesne türünün adı belirtilmiştir. level2_object_name , varsayılan olarak NULL olan sysname'dir . Geçerli girdiler varsayılan olarak NULL veya nesne adıdır.

Tablolar Geri Getirildi

Bu, fn_listextendedproperty tarafından döndürülen tabloların formatıdır.

Sütun adı Veri türü
objtype sysname
objname sysname
name sysname
value sql_variant

Eğer döndürülen tablo boşsa, ya nesnenin genişletilmiş özellikleri yoktur ya da kullanıcının genişletilmiş özellikleri nesnede listeleme iznine sahip değildir. Veritabanında genişletilmiş özellikler dönerken, objtype ve objname sütunları NULL olur.

Açıklamalar

Eğer property_name değeri NULL veya varsayılan ise, fn_listextendedproperty belirtilen nesne için tüm özellikleri döndürür.

Nesne tipi belirtildiğinde ve ilgili nesne adının değeri NULL veya varsayılan olduğunda, fn_listextendedproperty belirtilen türdeki tüm nesneler için tüm genişletilmiş özellikleri döndürür.

Nesneler seviyelere göre ayrılır; seviye 0 en yüksek, seviye 2 en düşük seviyedir. Alt seviye bir nesne, seviye 1 veya 2, tür ve isim belirtilirse, ana nesne türü ve adı NULL veya varsayılan olmayan değerler verilmelidir. Aksi takdirde, fonksiyon boş bir sonuç kümesi döndürür.

Objname Latin1_General_CI_AI olarak sabitlenir. Ancak karşılaştırma yöntemini geçersiz kılarak bunu aşabilirsiniz.

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';  

Permissions

Nesnelerin genişletilmiş özelliklerini listeleme izinleri, nesne türüne göre değişir.

Örnekler

A. Bir veritabanında genişletilmiş özelliklerin görüntülenmesi

Aşağıdaki örnek, veritabanı nesnesinin kendisinde belirlenen tüm genişletilmiş özellikleri gösterir.

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

Sonuç kümesi aşağıdadır.

objtype objname name value

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

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Bir tablodaki tüm sütunlarda genişletilmiş özelliklerin görüntülenmesi

Aşağıdaki örnek, tablodaki ScrapReason sütunlar için genişletilmiş özellikler listelenmektedir. Bu, şemada Productionyer alır.

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

Sonuç kümesi aşağıdadır.

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. Bir şemadaki tüm tablolarda genişletilmiş özelliklerin görüntülenmesi

Aşağıdaki örnek, şemadaki Sales tüm tablolar için genişletilmiş özellikler listeler.

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

Ayrıca Bkz.

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