继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

动漫人物
关注TA
已关注
手记 70
粉丝 18
获赞 70

如何清除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 实现。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP