为SQL Server表中的列添加/修改/删除注释属性sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty

本文详细介绍了如何在SQL Server中使用sp_addextendedproperty、sp_updateextendedproperty和sp_dropextendedproperty来为表列添加、修改和删除注释,包括各个参数的含义和示例操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:

为SQL Server表中的列添加/修改/删除注释属性 sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty

https://www.cnblogs.com/walden1024/p/4545688.html

为SQL Server表中的列添加/修改/删除注释属性(sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty) - Walden1024 - 博客园

为SQL Server表中的列添加/修改/删除注释属性(sp_addextendedproperty、sp_updateextendedproperty、sp_dropextendedproperty) - Walden1024 - 博客园本篇基本完全参考:sql--sp_addextendedproperty和sp_updateextendedproperty (Transact-SQL) 三个存储过程用法一样,以sp_addextehttps://www.cnblogs.com/walden1024/p/4545688.html


本篇基本完全参考:sql--sp_addextendedpropertysp_updateextendedproperty (Transact-SQL)

  三个存储过程用法一样,以sp_addextendedproperty为例:

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' }
                     ]
              ]
        ]
    ]

参数:       

[ @name ] = { 'property_name' } 

  要添加的属性的名称。property_name 的数据类型为 sysname,且不能为 NULL。名称还可以包括空格或非字母数字字符串以及二进制值。

[ @value= ] { 'value'}              

  要与属性关联的值。value 的数据类型为 sql_variant,默认值为 NULL。value 的大小不能超过 7,500 个字节。

[ @level0type= ] { 'level0_object_type' }              

  级别 0 对象的类型。level0_object_type 的数据类型为 varchar(128),默认值为 NULL。有效输入包括:ASSEMBLY、CONTRACT、EVENT NOTIFICATION、FILEGROUP、MESSAGE TYPE、PARTITION FUNCTION、PARTITION SCHEME、REMOTE SERVICE BINDING、ROUTE、SCHEMA、SERVICE、USER、TRIGGER、TYPE、PLAN GUIDE 和 NULL。                                   

重要提示                      

将来的 SQL Server 版本中将删除在级别 1 类型对象的扩展属性中指定 USER 作为级别 0 类型的功能。 改用 SCHEMA 作为级别 0 类型。 例如,在定义表的扩展属性时,指定表的架构而不是用户名。 将来的 SQL Server 版本中将删除指定 TYPE 作为级别 0 类型的功能。 对于 TYPE,请使用 SCHEMA 作为级别 0 类型,使用 TYPE 作为级别 1 类型。

[ @level0name= ] { 'level0_object_name' }              

  所指定的级别 0 对象类型的名称。level0_object_name 的数据类型为 sysname,默认值为 NULL。

[ @level1type= ] { 'level1_object_type' }              

  级别 1 对象的类型。level1_object_type 的数据类型为 varchar(128),默认值为 NULL。有效的输入包括:AGGREGATE、DEFAULT、FUNCTION、LOGICAL FILE NAME、PROCEDURE、QUEUE、RULE、SYNONYM、TABLE、TABLE_TYPE、TYPE、VIEW、XML SCHEMA COLLECTION 和 NULL。

[ @level1name= ] { 'level1_object_name' }              

  所指定的级别 1 对象类型的名称。level1_object_name 的数据类型为 sysname,默认值为 NULL。

[ @level2type= ] { 'level2_object_type' }              

  级别 2 对象的类型。level2_object_type 的数据类型为 varchar(128),默认值为 NULL。有效的输入包括:COLUMN、CONSTRAINT、EVENT NOTIFICATION、INDEX、PARAMETER、TRIGGER 和 NULL。

[ @level2name= ] { 'level2_object_name' }              

  所指定的级别 2 对象类型的名称。 level2_object_name 的数据类型为 sysname,默认值为 NULL。

举例:

1.创建测试表:

if exists(select 1 from sys.tables where object_id=object_id('TestTable'))
    begin
        drop table TestTable
    end
create table TestTable
(
    ColumnA varchar(50),
    ColumnB varchar(50)
)

2.为ColumnA列添加注释:

exec sp_addextendedproperty
    @name=N'MS_Description', 
    @value=N'列A的注释', 
    @level0type=N'SCHEMA',
    @level0name=N'dbo', 
    @level1type=N'TABLE',
    @level1name=N'TestTable', 
    @level2type=N'COLUMN',
    @level2name=N'ColumnA'

3.查看结果:

或者执行sql语句:

select col.Name,ext.value 
from sys.extended_properties ext
    inner join sys.columns col on ext.major_id=col.object_id and ext.minor_id=col.column_id
where ext.major_id=object_id('TestTable')

4.语句简易写法

--给列增加注释
execute sp_addextendedproperty 'MS_Description', 
'列的注释',
'user', 'dbo', 'table', '表名', 'column', '列名'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值