zoukankan      html  css  js  c++  java
  • SQLServer在数据库对象上使用扩展属性

    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       目录编号

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

  • 相关阅读:
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details
    Visual Studio断点调试, 无法监视变量, 提示无法计算表达式
    ASP.NET MVC中MaxLength特性设置无效
    项目从.NET 4.5迁移到.NET 4.0遇到的问题
    发布网站时应该把debug设置false
    什么时候用var关键字
    扩展方法略好于帮助方法
    在基类构造器中调用虚方法需谨慎
    ASP.NET MVC中商品模块小样
    ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积02, 在界面实现
  • 原文地址:https://www.cnblogs.com/puresoul/p/1769216.html
Copyright © 2011-2022 走看看