您好,登錄后才能下訂單哦!
SQL Server中怎么為索引添加注釋信息,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
如何通過擴展屬性為SQLServer的索引添加注釋信息
選中一個索引:屬性,擴展屬性,在表格的名稱,值里分別加上:"說明","這個索引的實際用處"即可。
假如一個索引同時做了幾件事,可以這樣添加注釋:
(1)插入數(shù)據(jù)時,根據(jù)date+code判斷指定的數(shù)據(jù)是否存在(2)后臺根據(jù)date統(tǒng)計一段時間的匯總數(shù)據(jù)。
這樣當別人不清楚一個索引的作用時,只要看一下該索引的擴展屬性即可。
假如要查看一個數(shù)據(jù)庫里的索引注釋列表可以這樣查詢:
selectobject_name(major_id)astable_name,(selectnamefromsys.indexeswhereobject_id=major_idandindex_id=minor_id)asindex_name,name,valuefromsys.extended_propertieswhereclass_desc='INDEX'
在開發(fā)過程中,我們一般會在開發(fā)數(shù)據(jù)庫上,指定各個索引的注釋,假如要把這兒的注釋同步到生產(chǎn)服務器,可以通過腳本來做:
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
調(diào)用這兒的sp_存儲過程可以完成任務,但稍微有點繁瑣,這時可以自己創(chuàng)建一個存儲過程,方便給索引添加注釋信息:
-----------------------------------------------------
--給指定表的指定索引設置擴展屬性(默認的擴展屬性名為:'說明'),方便為索引添加注釋
----------------------------------------------------
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
---在索引上創(chuàng)建注釋信息
EXECsp_addextendedproperty@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level2type=N'INDEX',@level1name=@tablename,@level2name=@indexname,@name=N'說明',@value=@descvalueEND
調(diào)用時:
execSetIndexDesc'表名','索引名',N'注釋信息'
假如需要把開發(fā)數(shù)據(jù)庫的索引注釋列表同步到生產(chǎ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'說明'
把輸出的腳本列表,在生產(chǎn)服務器上執(zhí)行一下即可。
關于SQL Server中怎么為索引添加注釋信息問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。