中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

SQL Server 2008中有哪些分層數據類型

發布時間:2021-08-05 15:24:34 來源:億速云 閱讀:106 作者:Leah 欄目:數據庫

這篇文章給大家介紹SQL Server 2008中有哪些分層數據類型,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

  SQLServer2008原生的分層數據類型有哪些

  假如是在SQLServer2000中,我們需要讀取分層結構數據時,不得不借助遞歸。在SQLserver2005中,我們可以使用CTE,當然,好的數據結構設計可以避免你使用CTE,請看這里:http://www.cnblogs.com/downmoon/archive/2009/10/23/1588405.html。

  假如你是一個數據庫設計新手,那么在sqlserver2008中可以使用新的原生分層結構數據hierarchyid。

  關于它的詳細說明,請看MSDN:

  http://msdn.microsoft.com/zh-cn/library/bb677173%28v=sql.100%29.aspx

  http://64.4.11.252/zh-cn/library/bb677173.aspx

  http://msdn.microsoft.com/en-us/magazine/cc794278.aspx#id0090037

  需要注意的是,它可以改造傳統數據表而成。但不可以實現與XML互相轉換。

  SQLServer2008原生的分層數據類型有哪些

  下面我們看一個示例:

  ifOBJECT_ID('[Category_hierarchyid]')isnotnulldroptable[Category_hierarchyid]go--創建表CREATETABLE[Category_hierarchyid](H_IDhierarchyidNOTNULL,C_IDINTprimarykeyidentity(1000,1)NOTNULL,C_NameNVARCHAR(50)NOTNULL,TitleNVARCHAR(50)NOTNULL)GOTRUNCATEtable[Category_hierarchyid]GOINSERTINTO[Category_hierarchyid]([H_ID],[C_Name],[Title])select'/','蔬菜','蔬菜'unionallselect'/1/','根菜類','蔬菜'unionallselect'/2/','葉菜類','蔬菜'unionallselect'/3/','茄果類','蔬菜'unionallselect'/4/','甘藍類','蔬菜'unionallselect'/1/1/','蘿卜','蔬菜'unionallselect'/1/1/','胡蘿卜','蔬菜'unionallselect'/4/2/','甘藍','蔬菜'unionallselect'/2/4/','花椰菜','蔬菜'unionallselect'/3/3/','茄子','蔬菜'unionallselect'/3/3/','番茄','蔬菜'unionALLselect'/1/1/5/','白蘿卜','蔬菜'go

  SQLserver2008中的原生分層數據:hierarchyid

  --查看所有的分類

  SELECT*FROM[Category_hierarchyid]/*H_IDC_IDC_NameTitle0x1000蔬菜蔬菜0x581001根菜類蔬菜0x681002葉菜類蔬菜0x781003茄果類蔬菜0x841004甘藍類蔬菜0x5AC01005蘿卜蔬菜0x5AC01006胡蘿卜蔬菜0x85A01007甘藍蔬菜0x6C201008花椰菜蔬菜0x7BC01009茄子蔬菜0x7BC01010番茄蔬菜0x5AE31011白蘿卜蔬菜*/

  --查看所有的分類及級別

  SELECT*,H_ID.GetLevel()ASLevelFROM[Category_hierarchyid]/*H_IDC_IDC_NameTitleLevel0x1000蔬菜蔬菜00x581001根菜類蔬菜10x681002葉菜類蔬菜10x781003茄果類蔬菜10x841004甘藍類蔬菜10x5AC01005蘿卜蔬菜20x5AC01006胡蘿卜蔬菜20x85A01007甘藍蔬菜20x6C201008花椰菜蔬菜20x7BC01009茄子蔬菜20x7BC01010番茄蔬菜20x5AE31011白蘿卜蔬菜3*/

  --查看根菜類及其子分類

  DECLARE@ParenthierarchyidSELECT@Parent=H_IDFROM[Category_hierarchyid]WHEREC_ID=1001----PRINT@Parent.ToString()SELECT*,H_ID.GetLevel()ASLevelFROM[Category_hierarchyid]WHEREH_ID.IsDescendantOf(@Parent)=1/*H_IDC_IDC_NameTitleLevel0x581001根菜類蔬菜10x5AC01005蘿卜蔬菜20x5AC01006胡蘿卜蔬菜20x5AE31011白蘿卜蔬菜3*/

  --查看胡蘿卜及其所有父分類

  DECLARE@SonhierarchyidSELECT@Son=H_IDFROM[Category_hierarchyid]WHEREC_ID=1006SELECT*,H_ID.GetLevel()ASLevelFROM[Category_hierarchyid]WHERE@Son.IsDescendantOf(H_ID)=1/*H_IDC_IDC_NameTitleLevel0x1000蔬菜蔬菜00x581001根菜類蔬菜10x5AC01005蘿卜蔬菜20x5AC01006胡蘿卜蔬菜2*/。

關于SQL Server 2008中有哪些分層數據類型就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

铜川市| 双牌县| 岗巴县| 响水县| 化德县| 汤原县| 鄂托克旗| 丹阳市| 陈巴尔虎旗| 长海县| 囊谦县| 黄梅县| 达拉特旗| 和静县| 江山市| 庆阳市| 大余县| 竹北市| 牡丹江市| 班戈县| 静乐县| 仙桃市| 德令哈市| 敦化市| 汕尾市| 河西区| 鄂托克旗| 邳州市| 海伦市| 漠河县| 舒城县| 汤原县| 松桃| 潞西市| 烟台市| 莱芜市| 平定县| 星座| 柳江县| 洪泽县| 民丰县|