• SQL SERVER中的扩展属性


    以前在SQL SERVER建表时,总看到扩展属性,但一直未使用过。今天研究下:

    增加扩展属性:

    语法:

    sp_addextendedproperty
        [ @name = ] { 'property_name' }
        [ , [ @value = ] { 'value' } 
            [ , [ @level0type = ] { 'level0_object_type' } 
                        , [ @level0name = ] { 'level0_object_name' } 
                    [ , [ @level1type = ] { 'level1_object_type' } 
                                        , [ @level1name = ] { 'level1_object_name' } 
                            [ , [ @level2type = ] { 'level2_object_type' } 
                                                        , [ @level2name = ] { 'level2_object_name' } 
                            ] 
                    ]
            ] 
        ] 

    注明:为了指定扩展属性,将 SQL Server 数据库中的对象分为三个级别:0、1 和 2。级别 0 是最高级别,该级别被定义为在数据库作用域包含的对象。级别 1 的对象包含在架构作用域或用户作用域中,而级别 2 的对象包含在级别 1 对象中。可以为这些级别中任一级别的对象定义扩展属性。

    将扩展属性添加到数据库中

    EXEC sp_addextendedproperty 
    @name = N'Caption', @value = ' OLTP Database';

    将输入掩码属性添加到列中

    EXEC sp_addextendedproperty
    @name= N'Input Mask ', @value='99999 or 99999-9999 or #### ###',
    @level0type= N'Schema', @level0name= Person,
    @level1type= N'Table', @level1name= Address,
    @level2type= N'Column',@level2name= PostalCode;

    将扩展属性添加到表中的列

    EXEC sp_addextendedproperty 
    @name = N'Caption', @value = 'Postal code is a required column.',
    @level0type = N'Schema', @level0name = dbo,
    @level1type = N'Table',  @level1name = Address,
    @level2type = N'Column', @level2name = PostalCode;

    将扩展属性添加到文件组中

    EXEC sys.sp_addextendedproperty 
    @name = N'MS_DescriptionExample', 
    @value = N'Primary filegroup for the AdventureWorks sample database.', 
    @level0type = N'FILEGROUP', @level0name = [PRIMARY];
    查看扩展属性:
    SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column Name], value AS [Extended Property]
    FROM sys.extended_properties AS ep
    INNER JOIN sys.tables AS t ON ep.major_id = t.object_id 
    INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
    WHERE class = 1;

      查看数据库级别的扩展属性

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

    查看某个架构中所有表的扩展属性

    SELECT objtype, objname, name, value
    FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', default, NULL, NULL);
  • 相关阅读:
    Mvc4.0添加商品到Cookie
    个人作业——词频统计
    利用飞信虚拟框架开发绿色.NET程序
    专用服务器和共享服务器的区别(转)
    我做项目对Excel进程处理问题
    通过SQL Server 2000的链接服务器访问Sybase数据库
    结合地理信息系统开发的项目
    模仿Smartphone的开始菜单效果
    如何修改Windows Mobile手机系统颜色
    个人负责的第一个地图应用项目框架截图
  • 原文地址:https://www.cnblogs.com/martintuan/p/3274157.html
Copyright © 2020-2023  润新知