取得SQLServer字段的描述内容

转载 2006年06月21日 14:49:00
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。否则,函数将返回错误。

用于列出某些级别对象类型的扩展属性的权限有所不同。 

对于级别 0 的对象,如果某用户为级别 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 

相关文章推荐

python 读写sqlserver image字段

  • 2012年08月15日 12:47
  • 991B
  • 下载

mybatis-generator获取sqlServer字段注释并修改生成的实体类属性的注释

这两周一直在给mybatis—generator做扩展,使其能够增加工作开发效率。首先附上github地址:[代码地址](https://github.com/whaiming/java-genera...

同步更新远程机器上的SqlServer数据库中某表的某些字段

思路: 在本地数据库的表中创建update的触发器,在有数据更新时同时更新远程服务器上得数据库。这需要启用双方服务器上得分布式事务MSDTC服务。 1、在要数据同步更新的表上创建触发器: Create...
  • wwwdbs
  • wwwdbs
  • 2011年08月06日 09:46
  • 4426

SqlServer 根据字段分类汇总信息

在一张基础表中,我们经常要根据一个字段的不同表达方式来汇总数据。下面我们将进行简单的汇总操作。 在数据库中创建一个名为test的表 字段类型如下图 插入数据如下图 这就是基...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取得SQLServer字段的描述内容
举报原因:
原因补充:

(最多只允许输入30个字)