新聞中心
例如我們?nèi)粘I钪杏玫阶疃嗟慕M織結(jié)構(gòu)圖。我們一般會用一個Employees表保存員工數(shù)據(jù),而每個員工則又可能會有相應(yīng)的上級。以前要得到某個員工的所有上級,或者所有下級,通常所采取的方法都是遞歸。SQL Server 2005開始支持的CTE從一定程序上方便了該工作的實現(xiàn)。

10年的揭西網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整揭西建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“揭西網(wǎng)站設(shè)計”,“揭西網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
但SQL 2008的hierarchyid讓這個工作更加簡化和直接。而該類型其實是一個CLR自定義數(shù)據(jù)類型。
一般我們使用的時候,如下面的例子
--創(chuàng)建表 |
--插入一些員工,注意第一個列的格式,必須用/開始和結(jié)束。這是一個路徑的符號。這是一個關(guān)鍵
INSERT INTO dbo.Employees VALUES('/',10000,'陳希章','CEO'); |
--查看所有的員工
SELECT * FROM dbo.Employees |
--查看所有的員工及其級別 |
--查看陳希章的所有下屬
DECLARE @BOSS hierarchyid |
--查看趙六及其所有上級 |
與hierarchyid有關(guān)的一些函數(shù)主要有
◆GetAncestor :取得某一個級別的祖先
◆GetDescendant :取得某一個級別的子代
◆GetLevel :取得級別
◆GetRoot :取得根
◆IsDescendantOf :判斷某個節(jié)點是否為某個節(jié)點的子代
◆Parse :將字符串轉(zhuǎn)換為hierarchyid。該字符串的格式通常都是/1/這樣的
◆Read :Read 從傳入的 BinaryReader 讀取 SqlHierarchyId 的二進(jìn)制表示形式,并將 SqlHierarchyId 對象設(shè)置為該值。不能使用 Transact-SQL 調(diào)用 Read。請改為使用 CAST 或 CONVERT。
◆GetReparentedValue :可以用來移動節(jié)點(或者子樹)
◆ToString :將hierarchyid轉(zhuǎn)換為字符串,與parse正好相反
◆Write Write 將 SqlHierarchyId 的二進(jìn)制表示形式寫出到傳入的 BinaryWriter 中。無法通過使用 Transact-SQL 來調(diào)用 Write。請改為使用 CAST 或 CONVERT。
當(dāng)前文章:淺談SQLServer2008中新增屬性Hierarchyid
瀏覽路徑:http://m.fisionsoft.com.cn/article/ccddjge.html


咨詢
建站咨詢
