SQL Server中怎么為索引添加注釋信息,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
目前成都創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、巴州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。如何通過擴(kuò)展屬性為SQLServer的索引添加注釋信息
選中一個索引:屬性,擴(kuò)展屬性,在表格的名稱,值里分別加上:"說明","這個索引的實(shí)際用處"即可。
假如一個索引同時做了幾件事,可以這樣添加注釋:
(1)插入數(shù)據(jù)時,根據(jù)date+code判斷指定的數(shù)據(jù)是否存在(2)后臺根據(jù)date統(tǒng)計一段時間的匯總數(shù)據(jù)。
這樣當(dāng)別人不清楚一個索引的作用時,只要看一下該索引的擴(kuò)展屬性即可。
假如要查看一個數(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)服務(wù)器,可以通過腳本來做:
EXECsp_addextendedproperty@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level2type=N'INDEX',@level1name=N'表名',@level2name=N'索引名',@name=N'說明',@value=N'索引的實(shí)際用處'
如何通過擴(kuò)展屬性為SQLServer的索引添加注釋信息
更新:sp_addextendedproperty
刪除:sp_dropextendedproperty
調(diào)用這兒的sp_存儲過程可以完成任務(wù),但稍微有點(diǎn)繁瑣,這時可以自己創(chuàng)建一個存儲過程,方便給索引添加注釋信息:
-----------------------------------------------------
--給指定表的指定索引設(shè)置擴(kuò)展屬性(默認(rèn)的擴(kuò)展屬性名為:'說明'),方便為索引添加注釋
----------------------------------------------------
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)服務(wù)器,可以這樣做:
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)服務(wù)器上執(zhí)行一下即可。
關(guān)于SQL Server中怎么為索引添加注釋信息問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。