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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
淺談SQLServer2008中新增屬性Hierarchyid

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

10年的揭西網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整揭西建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“揭西網(wǎng)站設(shè)計(jì)”,“揭西網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

但SQL 2008的hierarchyid讓這個(gè)工作更加簡(jiǎn)化和直接。而該類(lèi)型其實(shí)是一個(gè)CLR自定義數(shù)據(jù)類(lèi)型。

一般我們使用的時(shí)候,如下面的例子

--創(chuàng)建表
CREATE TABLE Employees
(
    Org_Id hierarchyid NOT NULL,
    EmployeeId INT NOT NULL,
    EmployeeName VARCHAR(50) NOT NULL,
    Title VARCHAR(50) NOT NULL
)
GO

--插入一些員工,注意第一個(gè)列的格式,必須用/開(kāi)始和結(jié)束。這是一個(gè)路徑的符號(hào)。這是一個(gè)關(guān)鍵

INSERT INTO dbo.Employees VALUES('/',10000,'陳希章','CEO');
INSERT INTO dbo.Employees VALUES('/1/',10001,'張三','CTO');
INSERT INTO dbo.Employees VALUES('/2/',10002,'李四','CFO');
INSERT INTO dbo.Employees VALUES('/1/1/',10003,'王五','IT Manager');
INSERT INTO dbo.Employees VALUES('/1/2/',10004,'趙六','Manager');
INSERT INTO dbo.Employees VALUES('/1/1/1/',10005,'洪七','Employee');

--查看所有的員工

SELECT * FROM dbo.Employees 

--查看所有的員工及其級(jí)別
SELECT *,Org_Id.GetLevel() AS Level FROM Employees

--查看陳希章的所有下屬

DECLARE @BOSS hierarchyid
SELECT @BOSS=Org_Id FROM Employees WHERE EmployeeID=10000
SELECT *,Org_Id.GetLevel()AS Level FROM Employees WHERE Org_Id.IsDescendantOf(@BOSS)=1

--查看趙六及其所有上級(jí)
DECLARE @Employee hierarchyid
SELECT @Employee=Org_Id FROM Employees WHERE EmployeeID=10004
SELECT *,Org_Id.GetLevel()AS Level FROM Employees WHERE @Employee.IsDescendantOf(Org_Id)=1

與hierarchyid有關(guān)的一些函數(shù)主要有

◆GetAncestor :取得某一個(gè)級(jí)別的祖先

◆GetDescendant :取得某一個(gè)級(jí)別的子代

◆GetLevel :取得級(jí)別

◆GetRoot :取得根

◆IsDescendantOf :判斷某個(gè)節(jié)點(diǎn)是否為某個(gè)節(jié)點(diǎn)的子代

◆Parse :將字符串轉(zhuǎn)換為hierarchyid。該字符串的格式通常都是/1/這樣的

◆Read :Read 從傳入的 BinaryReader 讀取 SqlHierarchyId 的二進(jìn)制表示形式,并將 SqlHierarchyId 對(duì)象設(shè)置為該值。不能使用 Transact-SQL 調(diào)用 Read。請(qǐng)改為使用 CAST 或 CONVERT。

◆GetReparentedValue :可以用來(lái)移動(dòng)節(jié)點(diǎn)(或者子樹(shù))

◆ToString :將hierarchyid轉(zhuǎn)換為字符串,與parse正好相反

◆Write WriteSqlHierarchyId 的二進(jìn)制表示形式寫(xiě)出到傳入的 BinaryWriter 中。無(wú)法通過(guò)使用 Transact-SQL 來(lái)調(diào)用 Write。請(qǐng)改為使用 CAST 或 CONVERT。


本文題目:淺談SQLServer2008中新增屬性Hierarchyid
標(biāo)題來(lái)源:http://www.5511xx.com/article/ccddjge.html