日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何通過擴(kuò)展屬性為SQLServer的索引添加注釋信息

SQL Server數(shù)據(jù)庫中,為了方便查看各個索引的含義,我們也可以為索引添加注釋信息。雖然索引沒有默認(rèn)的地方讓你加注釋信息,但是我們可以通過給索引添加擴(kuò)展屬性,來為索引添加注釋信息。本文我們主要介紹這一過程的實(shí)現(xiàn)方法,接下來就讓我們來一起了解一下吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、金堂縣網(wǎng)站維護(hù)、網(wǎng)站推廣。

選中一個索引:屬性,擴(kuò)展屬性,在表格的名稱,值里分別加上:"說明", "這個索引的實(shí)際用處" 即可。

如果一個索引同時做了幾件事,可以這樣添加注釋:

(1)插入數(shù)據(jù)時,根據(jù)date+code判斷指定的數(shù)據(jù)是否存在 (2)后臺根據(jù)date統(tǒng)計(jì)一段時間的匯總數(shù)據(jù)。

這樣當(dāng)別人不清楚一個索引的作用時,只要看一下該索引的擴(kuò)展屬性即可。

如果要查看一個數(shù)據(jù)庫里的索引注釋列表可以這樣查詢:

 
 
 
  1. select  
  2.  
  3. object_name(major_id) as table_name,  
  4.  
  5. (select name from sys.indexes where object_id = major_id and index_id = minor_id) as index_name,  
  6.  
  7. name,  
  8.  
  9. value  
  10.  
  11. from sys.extended_properties  
  12.  
  13. where class_desc = 'INDEX' 

在開發(fā)過程中,我們一般會在開發(fā)數(shù)據(jù)庫上,指定各個索引的注釋,如果要把這兒的注釋同步到生產(chǎn)服務(wù)器,可以通過腳本來做:

 
 
 
  1. EXEC sp_addextendedproperty @level0type=N'SCHEMA', @level0name=N'dbo',    
  2.  
  3. @level1type=N'TABLE', @level2type=N'INDEX', @level1name=N'表名',   
  4.  
  5. @level2name=N'索引名', @name=N'說明', @value=N'索引的實(shí)際用處' 

更新:sp_addextendedproperty

刪除:sp_dropextendedproperty

調(diào)用這兒的 sp_ 存儲過程可以完成任務(wù),但稍微有點(diǎn)繁瑣,這時可以自己創(chuàng)建一個存儲過程,方便給索引添加注釋信息:

-----------------------------------------------------

-- 給指定表的指定索引設(shè)置擴(kuò)展屬性(默認(rèn)的擴(kuò)展屬性名為:'說明'),方便為索引添加注釋

----------------------------------------------------

 
 
 
  1. ALTER PROCEDURE [dbo].[SetIndexDesc]  
  2.  
  3. @tablename    nvarchar(200),  
  4.  
  5. @indexname    nvarchar(200),  
  6.  
  7. @descvalue    nvarchar(500)  
  8.  
  9. AS  
  10.  
  11. BEGIN 

---先檢查索引上是否存在注釋信息,如果存在,先刪除

 
 
 
  1. if exists (  
  2.  
  3. select * from sys.extended_properties  
  4.  
  5. where class_desc = 'INDEX' and object_name(major_id) = @tablename  
  6.  
  7. and (select name from sys.indexes where object_id = major_id and index_id = minor_id) = @indexname  
  8.  
  9. ) begin  
  10.  
  11. EXEC sp_dropextendedproperty N'說明', N'SCHEMA', N'dbo', N'TABLE', @tablename , N'INDEX', @indexname;  
  12.  
  13. end 

---在索引上創(chuàng)建注釋信息

 
 
 
  1. EXEC sp_addextendedproperty  
  2.  
  3. @level0type=N'SCHEMA',  
  4.  
  5. @level0name=N'dbo',  
  6.  
  7. @level1type=N'TABLE',  
  8.  
  9. @level2type=N'INDEX',  
  10.  
  11. @level1name=@tablename,  
  12.  
  13. @level2name=@indexname,  
  14.  
  15. @name=N'說明',  
  16.  
  17. @value=@descvalue  
  18.  
  19. END 

調(diào)用時:

exec SetIndexDesc '表名', '索引名', N'注釋信息'

如果需要把開發(fā)數(shù)據(jù)庫的索引注釋列表同步到生產(chǎn)服務(wù)器,可以這樣做:

 
 
 
  1. select 'exec SetIndexDesc ''' + object_name(major_id) + ''', '''   
  2.  
  3. +  (select name from sys.indexes where object_id = major_id and index_id = minor_id)   
  4.  
  5. + ''', N''' + convert(nvarchar(500), value) + ''''  
  6.  
  7. from sys.extended_properties  
  8.  
  9. where class_desc = 'INDEX' and name = N'說明' 

把輸出的腳本列表,在生產(chǎn)服務(wù)器上執(zhí)行一下即可。

關(guān)于通過擴(kuò)展屬性為SQL Server的索引添加注釋信息的知識就介紹到這里了,希望本次的介紹能夠帶給您一些收獲!

【編輯推薦】

  1. SQL Server 2008的BI組件SSAS使用詳解
  2. 關(guān)于SQL Server數(shù)據(jù)庫主鍵與索引的幾點(diǎn)區(qū)別
  3. SQL Server數(shù)據(jù)同步Merge的一個BUG及解決方法
  4. 如何將SQL Server 2008的數(shù)據(jù)降級到SQL Server 2005
  5. CASE WHEN END條件和匯總函數(shù)SUM結(jié)合使用實(shí)現(xiàn)查詢

本文標(biāo)題:如何通過擴(kuò)展屬性為SQLServer的索引添加注釋信息
地址分享:http://www.5511xx.com/article/coseped.html