溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server中怎么為索引添加注釋信息

發(fā)布時間:2021-08-13 11:16:36 來源:億速云 閱讀:297 作者:Leah 欄目:數(shù)據(jù)庫

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è)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI