为了账号安全,请及时绑定邮箱和手机立即绑定

清除sql2005中字段的字段备注信息方法

标签:
SQL Server

如何清除sql2005中字段的字段备注信息?(downmoon)
比如一个表t1,
字段tID int Primary Int 字段说明 '主键'
字段tName nvarchar(100) 字段说明 '名称'
字段tTime nvarchar(100) 字段说明 '创建时间'
字段tState nvarchar(100) 字段说明 '当前状态'

现在想清除字段的备注信息,如“主键”、“名称”、“创建时间”等

select * from sys.extended_properties 
where [name]='MS_Description'


这条语句只能查看, 不能删除或更新

delete from sys.extended_properties where [name]='MS_Description'
update sys.extended_properties  set [value]='' where [name]='MS_Description'

上面两句均出错! 提示:
消息 259,级别 16,状态 1,第 1 行
不允许对系统目录进行即席更新。


后来在微软网站查得结果

示例
A. 删除列上的扩展属性

以下示例从架构 dbo 内包含的表 T1 中的列 id 上删除属性 'caption'。

CREATE TABLE T1 (id int , name char (20));
GO
EXEC sp_addextendedproperty 
    @name = 'caption' 
    ,@value = 'Employee ID' 
    ,@level0type = 'schema' 
    ,@level0name = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
EXEC sp_dropextendedproperty 
     @name = 'caption' 
    ,@level0type = 'schema' 
    ,@level0name = dbo
    ,@level1type = 'table'
    ,@level1name = 'T1'
    ,@level2type = 'column'
    ,@level2name = id;
GO
DROP TABLE T1;
GO

B. 删除数据库中的扩展属性

以下示例从 AdventureWorks 示例数据库中删除名为 MS_Description 的属性。由于属性位于数据库本身中,因此不指定对象类型和名称。

USE AdventureWorks;
GO
EXEC sp_dropextendedproperty 
@name = N'MS_Description';
GO

但以上语句无法执行, 

后来用生成的sp_addextendedproperty修改为sp_dropextendedproperty 实现。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消