重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SQL Server中怎么为索引添加注释信息,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
目前成都创新互联已为近1000家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、巴州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。如何通过扩展属性为SQLServer的索引添加注释信息
选中一个索引:属性,扩展属性,在表格的名称,值里分别加上:"说明","这个索引的实际用处"即可。
假如一个索引同时做了几件事,可以这样添加注释:
(1)插入数据时,根据date+code判断指定的数据是否存在(2)后台根据date统计一段时间的汇总数据。
这样当别人不清楚一个索引的作用时,只要看一下该索引的扩展属性即可。
假如要查看一个数据库里的索引注释列表可以这样查询:
selectobject_name(major_id)astable_name,(selectnamefromsys.indexeswhereobject_id=major_idandindex_id=minor_id)asindex_name,name,valuefromsys.extended_propertieswhereclass_desc='INDEX'
在开发过程中,我们一般会在开发数据库上,指定各个索引的注释,假如要把这儿的注释同步到生产服务器,可以通过脚本来做:
EXECsp_addextendedproperty@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level2type=N'INDEX',@level1name=N'表名',@level2name=N'索引名',@name=N'说明',@value=N'索引的实际用处'
如何通过扩展属性为SQLServer的索引添加注释信息
更新:sp_addextendedproperty
删除:sp_dropextendedproperty
调用这儿的sp_存储过程可以完成任务,但稍微有点繁琐,这时可以自己创建一个存储过程,方便给索引添加注释信息:
-----------------------------------------------------
--给指定表的指定索引设置扩展属性(默认的扩展属性名为:'说明'),方便为索引添加注释
----------------------------------------------------
ALTERPROCEDURE[dbo].[SetIndexDesc]@tablenamenvarchar(200),@indexnamenvarchar(200),@descvaluenvarchar(500)ASBEGIN
---先检查索引上是否存在注释信息,假如存在,先删除
ifexists(select*fromsys.extended_propertieswhereclass_desc='INDEX'andobject_name(major_id)=@tablenameand(selectnamefromsys.indexeswhereobject_id=major_idandindex_id=minor_id)=@indexname)beginEXECsp_dropextendedpropertyN'说明',N'SCHEMA',N'dbo',N'TABLE',@tablename,N'INDEX',@indexname;end
---在索引上创建注释信息
EXECsp_addextendedproperty@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level2type=N'INDEX',@level1name=@tablename,@level2name=@indexname,@name=N'说明',@value=@descvalueEND
调用时:
execSetIndexDesc'表名','索引名',N'注释信息'
假如需要把开发数据库的索引注释列表同步到生产服务器,可以这样做:
select'execSetIndexDesc'''+object_name(major_id)+''','''+(selectnamefromsys.indexeswhereobject_id=major_idandindex_id=minor_id)+''',N'''+convert(nvarchar(500),value)+''''fromsys.extended_propertieswhereclass_desc='INDEX'andname=N'说明'
把输出的脚本列表,在生产服务器上执行一下即可。
关于SQL Server中怎么为索引添加注释信息问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。