在SQL Server数据库中,为了方便查看各个索引的含义,我们也可以为索引添加注释信息。虽然索引没有默认的地方让你加注释信息,但是我们可以通过给索引添加扩展属性,来为索引添加注释信息。本文我们主要介绍这一过程的实现方法,接下来就让我们来一起了解一下吧。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、虚拟主机、营销软件、网站建设、金堂县网站维护、网站推广。
选中一个索引:属性,扩展属性,在表格的名称,值里分别加上:"说明", "这个索引的实际用处" 即可。
如果一个索引同时做了几件事,可以这样添加注释:
(1)插入数据时,根据date+code判断指定的数据是否存在 (2)后台根据date统计一段时间的汇总数据。
这样当别人不清楚一个索引的作用时,只要看一下该索引的扩展属性即可。
如果要查看一个数据库里的索引注释列表可以这样查询:
- select
- object_name(major_id) as table_name,
- (select name from sys.indexes where object_id = major_id and index_id = minor_id) as index_name,
- name,
- value
- from sys.extended_properties
- where class_desc = 'INDEX'
在开发过程中,我们一般会在开发数据库上,指定各个索引的注释,如果要把这儿的注释同步到生产服务器,可以通过脚本来做:
- EXEC sp_addextendedproperty @level0type=N'SCHEMA', @level0name=N'dbo',
- @level1type=N'TABLE', @level2type=N'INDEX', @level1name=N'表名',
- @level2name=N'索引名', @name=N'说明', @value=N'索引的实际用处'
更新:sp_addextendedproperty
删除:sp_dropextendedproperty
调用这儿的 sp_ 存储过程可以完成任务,但稍微有点繁琐,这时可以自己创建一个存储过程,方便给索引添加注释信息:
-----------------------------------------------------
-- 给指定表的指定索引设置扩展属性(默认的扩展属性名为:'说明'),方便为索引添加注释
----------------------------------------------------
- ALTER PROCEDURE [dbo].[SetIndexDesc]
- @tablename nvarchar(200),
- @indexname nvarchar(200),
- @descvalue nvarchar(500)
- AS
- BEGIN
---先检查索引上是否存在注释信息,如果存在,先删除
- if exists (
- select * from sys.extended_properties
- where class_desc = 'INDEX' and object_name(major_id) = @tablename
- and (select name from sys.indexes where object_id = major_id and index_id = minor_id) = @indexname
- ) begin
- EXEC sp_dropextendedproperty N'说明', N'SCHEMA', N'dbo', N'TABLE', @tablename , N'INDEX', @indexname;
- end
---在索引上创建注释信息
- EXEC sp_addextendedproperty
- @level0type=N'SCHEMA',
- @level0name=N'dbo',
- @level1type=N'TABLE',
- @level2type=N'INDEX',
- @level1name=@tablename,
- @level2name=@indexname,
- @name=N'说明',
- @value=@descvalue
- END
调用时:
exec SetIndexDesc '表名', '索引名', N'注释信息'
如果需要把开发数据库的索引注释列表同步到生产服务器,可以这样做:
- select 'exec SetIndexDesc ''' + object_name(major_id) + ''', '''
- + (select name from sys.indexes where object_id = major_id and index_id = minor_id)
- + ''', N''' + convert(nvarchar(500), value) + ''''
- from sys.extended_properties
- where class_desc = 'INDEX' and name = N'说明'
把输出的脚本列表,在生产服务器上执行一下即可。
关于通过扩展属性为SQL Server的索引添加注释信息的知识就介绍到这里了,希望本次的介绍能够带给您一些收获!
【编辑推荐】
网站名称:如何通过扩展属性为SQLServer的索引添加注释信息
本文地址:http://www.shufengxianlan.com/qtweb/news39/299389.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联