SQLServer在数据库对象上使用扩展属性-阿里云开发者社区

开发者社区> 贺满> 正文

SQLServer在数据库对象上使用扩展属性

简介: SQL Server 2000 引入了扩展属性,用户可在各种数据库对象上定义这些属性。这些扩展属性可用于存储与数据库对象有关的应用程序或站点特有的信息。因为属性存储在数据库中,所有读取属性的应用程序都能以相同的方式评估对象。
+关注继续查看

SQL Server 2000 引入了扩展属性,用户可在各种数据库对象上定义这些属性。这些扩展属性可用于存储与数据库对象有关的应用程序或站点特有的信息。因为属性存储在数据库中,所有读取属性的应用程序都能以相同的方式评估对象。这有助于在系统中的所有程序对数据的处理方式上强制一致性。

        每个扩展属性都有用户定义的名称和值。扩展属性值为最多可包含 7,500 字节数据的 sql_variant 值。

        扩展属性的可能用途包括:

  1. 指定表、视图或列的标题。这样,所有应用程序都可在显示表、视图或列信息的用户界面中使用该标题。
  2. 指定列的输入掩码,以便所有应用程序都可在执行 Transact-SQL 语句前验证数据。
  3. 指定关于在列中显示数据的格式规则。
  4. 记录应用程序可显示给用户的对特定数据库对象的描述。
  5. 指定应显示的列大小和窗口位置。

        SQL Server 2000提供了三个系统存储过程和一个函数用于操作扩展属性。它们分别是:

  • sp_addextendedproperty(将新扩展属性添加到数据库对象中。)
  • sp_updateextendedproperty(更新现有扩展属性的值。)
  • sp_dropextendedproperty(除去现有的扩展属性。)
  • fn_listextendedproperty(列出扩展属性)

        下面使用一个例子来说明这些函数的用法。我打算在SQLServer 提供的示例数据库Northwind中的表Categories中的Column CategoryID添加一个Description扩展属性,用以描述CategoryID的用途,可以如下做:
 
sp_addextendedproperty 'Description',  '目录编号',  'user',  dbo,  'table',  Categories,  'column',  CategoryID

其中参数分别指定了扩展属性,扩展属性的值,0级对象是user,0级对象名是dbo,一级对象类型是table,一级对象名是Gategories,二级对象是column,二级对象名是GategoryID。

添加后,运行如下代码可看到添加后的结果:
select * from ::fn_listextendedproperty ('Description',  'user',  'dbo',  'table',  'Categories',  'column',  'CategoryID')

其中的参数分别指定了扩展属性,0级对象,0级对象名,1级对象,1级对象名,2级对象,2级对象名。

得到的列表如下:
objtype          objname            name                value
COLUMN    CategoryID       Description       目录编号

其它的两个存储过程使用的方法类似。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SqlServer性能检测和优化工具使用详细
工具概要         如果你的数据库应用系统中,存在有大量表,视图,索引,触发器,函数,存储过程,sql语句等等,又性能低下,而苦逼的你又要对其优化,那么你该怎么办?哥教你,首先你要知道问题出在哪里?如果想知道问题出在哪里,并且找到他,咱们可以借助本文中要讲述的性能检测工具--sql server profiler(处在sql安装文件--性能工具--sql server profiler)     如果知道啦问题出现在哪里,如果你又是绝世高手,当然可以直中要害,写段代码给处理解决掉,但是如果你不行,你做不到,那么也无所谓,可以借助哥的力量给你解决问题。
930 0
transient:将属性脱离序列化 | 带你学《Java语言高级特性》之七十一
transient关键字是类似于static、final等关键字的修饰符,它可以使类中的属性在序列化时跳过该属性,本节将为读者介绍其相关内容与用法。
563 0
destoon中自定义字段的前台显示,及修改相关属性
在destoon中模块的自定义字段存储在destonn_fields这个表中 自定义字段的前台显示使用的是fields_html这个函数在fields.func.php文件中,这个函数的定义如下, function fields_html($left = '<td class="tl">', $right = '<td>', $values = array()
1241 0
+关注
贺满
1、7年+测试经险,其中5年+金融(银行)领域业务经验,丰富的app\web\服务端测试经验. 2、4+年管理经验,有多次从0组建测试团队的经历,最多带过20+人的测试团队。
172
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载