sys.fn_listextendedproperty (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengembalikan nilai properti objek database yang diperluas.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

{ default | 'property_name' | NULL}
Adalah nama properti . property_name adalah sysname. Input yang valid adalah default, NULL, atau nama properti.

{ default | 'level0_object_type' | NULL}
Adalah jenis yang ditentukan pengguna atau pengguna. level0_object_type adalah varchar(128), dengan default NULL.
Input yang valid adalah:

  • RAKITAN
  • KONTRAK
  • NOTIFIKASI KEJADIAN
  • GRUPFILE
  • JENIS PESAN
  • FUNGSI PARTISI
  • SKEMA PARTISI
  • PENGIKATAN LAYANAN JARAK JAUH
  • RUTE
  • SKEMA
  • LAYANAN
  • PEMICU
  • TYPE
  • USER
  • NULL

Penting

USER dan TYPE sebagai tipe level-0 akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur-fitur ini. Gunakan SKEMA sebagai tipe tingkat 0, bukan USER. Untuk TYPE, gunakan SKEMA sebagai jenis tingkat 0 dan TYPE sebagai tipe tingkat 1.

{ default | 'level0_object_name' | NULL }
Adalah nama tipe objek tingkat 0 yang ditentukan. level0_object_name adalah sysname dengan default NULL. Input yang valid adalah default, NULL, atau nama objek.

{ default | 'level1_object_type' | NULL }
Adalah jenis objek tingkat 1. level1_object_type adalah varchar(128) dengan default NULL.
Input yang valid adalah:

  • AGREGAT
  • DEFAULT
  • FUNGSI
  • NAMA FILE LOGIS
  • PROSEDUR
  • ANTREAN
  • ATURAN
  • SINONIM
  • TABLE
  • TYPE
  • VIEW
  • KOLEKSI SKEMA XML
  • NULL

Catatan

Peta default ke peta NULL dan 'default' ke jenis objek DEFAULT.

{default | 'level1_object_name' |NULL }
Adalah nama tipe objek tingkat 1 yang ditentukan. level1_object_name adalah sysname dengan default NULL. Input yang valid adalah default, NULL, atau nama objek.

{ default | 'level2_object_type' |NULL }
Adalah jenis objek tingkat 2. level2_object_type adalah varchar(128) dengan default NULL.
Input yang valid adalah:

  • DEFAULT
  • default (peta ke NULL)
  • NULL. Input yang valid untuk level2_object_type adalah:
  • KOLOM
  • CONSTRAINT
  • NOTIFIKASI KEJADIAN
  • INDEX
  • PARAMETER
  • PEMICU
  • NULL

{ default | 'level2_object_name' |NULL }
Adalah nama tipe objek tingkat 2 yang ditentukan. level2_object_name adalah sysname dengan default NULL. Input yang valid adalah default, NULL, atau nama objek.

Tabel yang Dikembalikan

Ini adalah format tabel yang dikembalikan oleh fn_listextendedproperty.

Nama kolom Jenis Data
objtype nama sysname
objname nama sysname
nama nama sysname
value aql_variant

Jika tabel yang dikembalikan kosong, objek tidak memiliki properti yang diperluas atau pengguna tidak memiliki izin untuk mencantumkan properti yang diperluas pada objek. Saat mengembalikan properti yang diperluas pada database itu sendiri, kolom objtype dan objname akan menjadi NULL.

Keterangan

Jika nilai untuk property_name null atau default, fn_listextendedproperty mengembalikan semua properti untuk objek yang ditentukan.

Ketika jenis objek ditentukan dan nilai nama objek yang sesuai adalah NULL atau default, fn_listextendedproperty mengembalikan semua properti yang diperluas untuk semua objek dari jenis yang ditentukan.

Objek dibedakan sesuai dengan tingkat, dengan level 0 sebagai yang tertinggi dan level 2 terendah. Jika objek tingkat bawah, tingkat 1 atau 2, jenis dan nama ditentukan, jenis objek induk dan nama harus diberikan nilai yang bukan NULL atau default. Jika tidak, fungsi mengembalikan tataan hasil kosong.

objname diperbaiki sebagai Latin1_General_CI_AI. Namun, Anda dapat mengatasinya dengan mengganti kolamen sebagai perbandingan.

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

Izin

Izin untuk mencantumkan properti objek yang diperluas bervariasi menurut jenis objek.

Contoh

J. Menampilkan properti yang diperluas pada database

Contoh berikut menampilkan semua properti yang diperluas yang diatur pada objek database itu sendiri.

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

Berikut adalah hasil yang ditetapkan.

objtype objname name value

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

NULL NULL MS_Description AdventureWorks2008 Sample OLTP Database

(1 row(s) affected)

B. Menampilkan properti yang diperluas pada semua kolom dalam tabel

Contoh berikut mencantumkan properti yang diperluas untuk kolom dalam ScrapReason tabel. Ini terkandung dalam skema Production.

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

Berikut adalah hasil yang ditetapkan.

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. Menampilkan properti yang diperluas pada semua tabel dalam skema

Contoh berikut mencantumkan properti yang diperluas untuk semua tabel yang terkandung dalam Sales skema.

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

Lihat Juga

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