È¡µÃSQLServer×ֶεÄÃèÊöÄÚÈÝ
fn_listextendedproperty
·µ»ØÊý¾Ý¿â¶ÔÏóµÄÀ©Õ¹ÊôÐÔÖµ¡£
Óï·¨
fn_listextendedproperty (
{ default | [ @name = ] 'property_name' | NULL }
, { default | [ @level0type = ] 'level0_object_type' | NULL }
, { default | [ @level0name = ] 'level0_object_name' | NULL }
, { default | [ @level1type = ] 'level1_object_type' | NULL }
, { default | [ @level1name = ] 'level1_object_name' | NULL }
, { default | [ @level2type = ] 'level2_object_type' | NULL }
, { default | [ @level2name = ] 'level2_object_name' | NULL }
)
²ÎÊý
{default|[@name =] 'property_name'|NULL}
ÊÇÊôÐÔµÄÃû³Æ¡£property_name Ϊ sysname ÀàÐÍ¡£ÓÐЧµÄÊäÈëΪ default¡¢NULL »òÊôÐÔÃû¡£
{default|[@level0type =] 'level0_object_type'|NULL}
Óû§»òÓû§¶¨ÒåÀàÐÍ¡£level0_object_type µÄÊý¾ÝÀàÐÍΪ varchar(128)£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëÊÇ USER¡¢TYPE¡¢default ºÍ NULL¡£
{default|[@level0name =] 'level0_object_name'|NULL}
Ö¸¶¨µÄ 0 ¼¶¶ÔÏóÀàÐ͵ÄÃû³Æ¡£level0_object_name µÄÊý¾ÝÀàÐÍΪ sysname£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëΪ default¡¢NULL »ò¶ÔÏóÃû¡£
{default|[@level1type =] 'level1_object_type'|NULL}
1 ¼¶¶ÔÏóµÄÀàÐÍ¡£level1_object_type µÄÊý¾ÝÀàÐÍΪ varchar(128)£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëΪ TABLE¡¢VIEW¡¢PROCEDURE¡¢FUNCTION¡¢DEFAULT¡¢RULE¡¢default ºÍ NULL¡£
˵Ã÷ ĬÈÏÓ³Éä NULL£¬¶ø"default"Ó³Éä¶ÔÏóÀàÐÍ DEFAULT¡£
{default|[@level1name =] 'level1_object_name'|NULL}
Ö¸¶¨µÄ 1 ¼¶¶ÔÏóÀàÐ͵ÄÃû³Æ¡£level1_object_name µÄÊý¾ÝÀàÐÍΪ sysname£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëΪ default¡¢NULL »ò¶ÔÏóÃû¡£
{default|[@level2type =] 'level2_object_type'|NULL}
2 ¼¶¶ÔÏóµÄÀàÐÍ¡£level2_object_type µÄÊý¾ÝÀàÐÍΪ varchar(128)£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëΪ COLUMN¡¢PARAMETER¡¢INDEX¡¢CONSTRAINT¡¢TRIGGER¡¢DEFAULT¡¢default£¨Ó³Éä NULL£©ºÍ NULL¡£
{default|[@level2name =] 'level2_object_name'|NULL}
Ö¸¶¨µÄ 2 ¼¶¶ÔÏóÀàÐ͵ÄÃû³Æ¡£level2_object_name µÄÊý¾ÝÀàÐÍΪ sysname£¬ÆäĬÈÏֵΪ NULL¡£ÓÐЧµÄÊäÈëΪ default¡¢NULL »ò¶ÔÏóÃû¡£
·µ»Ø±í
ÏÂÃæÊÇ fn_listextendedproperty ·µ»ØµÄ±íµÄ¸ñʽ¡£
ÁÐÃû Êý¾ÝÀàÐÍ
objtype sysname
objname sysname
name sysname
value sql_variant
Èç¹û·µ»ØµÄ±íΪ¿Õ£¬¿ÉÄܶÔÏóûÓÐÀ©Õ¹ÊôÐÔ»òÓû§Ã»ÓÐÁгö¶ÔÏóÀ©Õ¹ÊôÐÔµÄȨÏÞ¡£
×¢ÊÍ
ϵͳ¶ÔÏó²»ÔÊÐíÓÐÀ©Õ¹ÊôÐÔ¡£
Èç¹û property_name µÄֵΪ NULL »ò default£¬fn_listextendedproperty ·µ»Ø¶ÔÏóµÄËùÓÐÊôÐÔ¡£
Èç¹ûÖ¸¶¨Á˶ÔÏóÀàÐÍÇÒÏàÓ¦µÄ¶ÔÏóÃûµÄֵΪ NULL »ò default£¬Ôò fn_listextendedproperty ·µ»ØÖ¸¶¨ÀàÐ͵ÄËùÓжÔÏóµÄËùÓÐÀ©Õ¹ÊôÐÔ¡£
¶ÔÏóÊǰ´¼¶±ðÇø·ÖµÄ£¬0 ¼¶Îª×î¸ß£¬2 ¼¶Îª×îµÍ¡£Èç¹ûÖ¸¶¨Á˽ϵͼ¶±ðµÄ¶ÔÏó£¨1 »ò 2 ¼¶£©ÀàÐͺÍÃû³Æ£¬Ôò¸¸¶ÔÏóÀàÐͺÍÃû³ÆµÄÖµ²»ÄÜΪ NULL »ò default¡£·ñÔò£¬º¯Êý½«·µ»Ø´íÎó¡£
ÓÃÓÚÁгöijЩ¼¶±ð¶ÔÏóÀàÐ͵ÄÀ©Õ¹ÊôÐÔµÄȨÏÞÓÐËù²»Í¬¡£
¶ÔÓÚ¼¶±ð 0 µÄ¶ÔÏó£¬Èç¹ûijÓû§Îª¼¶±ð 0 µÄÃû³ÆÖÐËù±êʶµÄÓû§£¬»òÕßÊÇ db_owner ºÍ db_ddladmin ¹Ì¶¨Êý¾Ý¿â½ÇÉ«µÄ³ÉÔ±£¬Ôò¸ÃÓû§¿ÉÒÔÁгöÖ¸¶¨"user"ÀàÐ͵ÄÀ©Õ¹ÊôÐÔ¡£
ËùÓÐÓû§¿ÉʹÓà 0 ¼¶¶ÔÏóÀàÐÍ"type"ÁгöÀ©Õ¹ÊôÐÔ¡£
¶ÔÓÚ 1 ¼¶¶ÔÏó£¬Èç¹ûÓû§Îª¶ÔÏóµÄËùÓÐÕß»òÓû§¶ÔÓÚ¶ÔÏóÓÐȨÏÞ£¬¸ÃÓû§¿ÉÒÔÓÃÈκÎÓÐЧµÄÀàÐÍÖµÁгöÀ©Õ¹ÊôÐÔ¡£
¶ÔÓÚ 2 ¼¶¶ÔÏó£¬Èç¹ûµ±Ç°Óû§¶Ô¸¸¶ÔÏó£¨1 ¼¶ºÍ 0¼¶£©ÓÐÈκÎȨÏÞ£¬¸ÃÓû§¿ÉÒÔÓÃÈκÎÓÐЧµÄÀàÐÍÖµÁгöÀ©Õ¹ÊôÐÔ¡£
ʾÀý
´ËʾÀýÁгöÊý¾Ý¿âµÄËùÓÐÀ©Õ¹ÊôÐÔ¡£
SELECT *
FROM ::fn_listextendedproperty(NULL, NULL, NULL, NULL, NULL, NULL, NULL)
-»ò-
SELECT *
FROM ::fn_listextendedproperty(default, default, default, default, default, default, default)
´ËʾÀýÁгö±í"T1"ÖÐËùÓÐÁеÄËùÓÐÀ©Õ¹ÊôÐÔ¡£
CREATE table T1 (id int , name char (20))
EXEC sp_addextendedproperty 'caption', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
EXEC sp_addextendedproperty 'caption', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name
SELECT *
FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default)
ÏÂÃæÊǽá¹û¼¯£º
objtype objname name value
COLUMN id caption Employee ID
COLUMN name caption Employee N