亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Hierarchyid 常用操作

2024-07-21 02:49:06
字體:
來源:轉載
供稿:網友
Hierarchyid 常用操作

?

?

---------內置函數------------

select hierarchyid::GetRoot()--0x

select hierarchyid::Parse('/1/1/') --0x5AC0

select cast(0x5AC0 as hierarchyid)--0x5AC0

select cast('/1/' as hierarchyid)--0x5AC0

select cast(0x5AC0 as hierarchyid).ToString()--/1/1/

select cast(0x5AC0 as hierarchyid).GetLevel()--2

?

-----------IsDescendantOf------------ 判斷@Node是否為@parent的子節點

declare @Node hierarchyid

declare @parent hierarchyid

set @Node='/1/2/3/4/'

set @parent='/1/2/'

?

select @Node.IsDescendantOf(@parent)--1

select @parent.IsDescendantOf(@Node)--0

?

--------GetAncestor ( n ) ----------返回指定層次的祖先.

declare @hy hierarchyid

declare @c int

set @hy='/1/1/2/1/'

set @c=@hy.GetLevel()

select @hy.GetAncestor(0).ToString()--/1/1/2/1/

select @hy.GetAncestor(1).ToString()--/1/1/2/

select @hy.GetAncestor(@c).ToString()--/

select @hy.GetAncestor(@c+1).ToString()--null

?

?

?

-----------GetDescendant-----------返回子集

//1.如果父級為NULL,則返回NULL。

?

---如果父級不為NULL----

--2.而child1 和child2 為NULL,則返回父級的子級。--

declare @hy hierarchyid

set @hy='/1/1/'

select @hy.GetDescendant(NULL,NULL).ToString()--/1/1/1/

?

--3. 返回值 在child1于child2之間 , child1>child2 且必須為@hy的子集--

select @hy.GetDescendant('/1/1/5/',null).ToString()--/1/1/6/

select @hy.GetDescendant(null,'/1/1/5/').ToString()--/1/1/4/

select @hy.GetDescendant('/1/1/2/','/1/1/5/').ToString()--/1/1/3/

select @hy.GetDescendant('/1/1/3/','/1/1/4/').ToString()--/1/1/3.1/

select @hy.GetDescendant(null,'/1/1/1/5/').ToString()--報異常

select @hy.GetDescendant('/1/1/5/','/1/1/3/').ToString()--報異常

?

---------◆GetReparentedValue :可以用來移動節點 --------------

注意:@parent是Node的祖先

?

declare @Node hierarchyid

DECLARE @NodeChild1 hierarchyid

declare @parent hierarchyid, @new hierarchyid

set @Node='/1/2/3/4/'

set @NodeChild1='/1/2/3/4/5/'

set @parent='/1/2/'

set @new='/5/6/7/'

?

SET @Node=@Node.GetReparentedValue(@parent, @new)

select @Node.ToString()--/5/6/7/3/4/

SELECT @NodeChild1.GetReparentedValue(hierarchyid::Parse('/1/2/3/4/'), @Node).ToString()

?

?

移動子樹

另一項常用操作是移動子樹。下面的過程采用?@oldMgr?的子樹作為參數,使其(包括?@oldMgr)成為?@newMgr?的子樹。

CREATE PROCEDURE MoveOrg(@oldMgr nvarchar(256), @newMgr nvarchar(256) )

AS

BEGIN

DECLARE @nold hierarchyid, @nnew hierarchyid

SELECT @nold = OrgNode FROM HumanResources.EmployeeDemo WHERE LoginID = @oldMgr ;

?

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

BEGIN TRANSACTION

SELECT @nnew = OrgNode FROM HumanResources.EmployeeDemo WHERE LoginID = @newMgr ;

?

SELECT @nnew = @nnew.GetDescendant(max(OrgNode), NULL)

FROM HumanResources.EmployeeDemo WHERE OrgNode.GetAncestor(1)=@nnew ;

?

UPDATE HumanResources.EmployeeDemo

SET OrgNode = OrgNode.GetReparentedValue(@nold, @nnew)

WHERE OrgNode.IsDescendantOf(@nold) = 1 ;

?

COMMIT TRANSACTION

END ;

GO

?

?

?

參考:

?

http://technet.microsoft.com/zh-cn/library/bb677212(v=sql.105).aspx

http://blog.csdn.net/tjvictor/article/details/4395681

http://msdn.microsoft.com/zh-cn/library/bb677290(v=sql.105).aspx

?

?

?

????


上一篇:怎樣檢查fragmentation

下一篇:透視轉換

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线精品免播放器视频| 国产欧美日韩中文字幕在线| 91久久久久久久久久久| 亚洲日本成人女熟在线观看| 久久久久久伊人| 国产精品美女在线| 欧美黑人极品猛少妇色xxxxx| 中文字幕欧美日韩va免费视频| 国产mv久久久| 精品丝袜一区二区三区| 亚洲综合中文字幕在线观看| 久久在精品线影院精品国产| 久久久久成人精品| 亚洲黄色av女优在线观看| 久久中文字幕一区| 久久国产一区二区三区| 国产亚洲精品美女久久久| 伊人久久五月天| 精品久久久久久久久国产字幕| 久久久国产影院| 成人欧美在线观看| 欧美大尺度激情区在线播放| 中文字幕无线精品亚洲乱码一区| 色噜噜国产精品视频一区二区| 不卡在线观看电视剧完整版| 一色桃子一区二区| 夜色77av精品影院| 久久久久成人网| 欧美与黑人午夜性猛交久久久| 最近免费中文字幕视频2019| 国产91精品高潮白浆喷水| 日韩在线精品视频| 国产激情综合五月久久| 成人在线观看视频网站| 亚洲丝袜一区在线| 亚洲bt天天射| 国产91精品最新在线播放| 日韩av第一页| 欧美丰满老妇厨房牲生活| 久久在精品线影院精品国产| 久久精品国产亚洲精品2020| 欧美亚洲视频一区二区| 91欧美精品午夜性色福利在线| 久久久精品视频成人| 美女精品久久久| 亚洲福利视频久久| 欧美性猛交xxxxx免费看| 亚洲大胆人体av| 成人精品在线观看| 免费97视频在线精品国自产拍| 国产精品视频成人| 亚洲最大中文字幕| 97久久精品视频| 亚洲人成电影网站色| 精品激情国产视频| 日韩美女毛茸茸| 日韩欧美国产黄色| 91精品久久久久久久久久另类| 91夜夜未满十八勿入爽爽影院| 成人免费福利视频| 国产精品专区第二| 亚洲精品97久久| 久久夜色精品亚洲噜噜国产mv| 久久久噜噜噜久久中文字免| 久久国产精品久久久| xvideos国产精品| 国产一区二区三区18| 红桃av永久久久| 色综合五月天导航| 一本色道久久综合狠狠躁篇的优点| 国产欧美日韩免费看aⅴ视频| 欧美大片免费观看| 欧美激情欧美激情在线五月| 国产欧洲精品视频| 亚洲成人精品视频| 精品国产欧美一区二区三区成人| 日本高清+成人网在线观看| 日韩不卡中文字幕| 国产欧美日韩91| 中文字幕在线看视频国产欧美在线看完整| 高清在线视频日韩欧美| 日本人成精品视频在线| 日韩不卡在线观看| 国产精品成人一区二区| 成人妇女淫片aaaa视频| 国产精品美女主播在线观看纯欲| 亚洲女人被黑人巨大进入al| 亚洲精品720p| 久久久免费电影| 国产日韩中文字幕| 亚洲aⅴ男人的天堂在线观看| 91成人免费观看网站| 日韩av第一页| 另类少妇人与禽zozz0性伦| 久久琪琪电影院| 91人人爽人人爽人人精88v| 日韩网站免费观看高清| 国产成人精品久久亚洲高清不卡| 日韩精品亚洲精品| 亚洲激情 国产| 亚洲视频在线观看网站| 欧美高清在线播放| 国自在线精品视频| 亚洲国内高清视频| 日本不卡免费高清视频| 91在线无精精品一区二区| 欧美日韩在线另类| 亚洲高清福利视频| 欧美大成色www永久网站婷| 久久伊人精品一区二区三区| 在线视频一区二区| 欧美激情伊人电影| 成人国内精品久久久久一区| 日韩有码视频在线| 精品女厕一区二区三区| 亚洲欧洲中文天堂| 亚洲黄色有码视频| 日韩亚洲精品电影| 亚洲欧美在线免费观看| 日韩精品中文在线观看| 久久天堂av综合合色| 77777少妇光屁股久久一区| 中文字幕亚洲欧美日韩高清| 国产精品美女呻吟| 亚洲精品福利在线| 欧美成人免费va影院高清| 日韩电影网在线| 日本久久久久久| 日本久久久a级免费| 色妞一区二区三区| 精品国产自在精品国产浪潮| 一本色道久久88亚洲综合88| 伊人一区二区三区久久精品| 尤物九九久久国产精品的分类| 成人欧美一区二区三区黑人孕妇| 91av在线网站| 精品国产一区二区三区久久久| 亚洲女人天堂av| 亚洲午夜久久久影院| 亚洲色图日韩av| 欧美高清videos高潮hd| 日韩精品在线观| 精品成人69xx.xyz| 欧美国产日韩一区二区在线观看| 欧洲成人免费aa| 色悠悠久久久久| 欧美精品在线免费| 大胆欧美人体视频| 国产精品一区二区久久久久| 最近中文字幕2019免费| 久久国产精品亚洲| 久久五月天综合| 日韩在线视频一区| 欧美久久精品午夜青青大伊人| 亚洲国产天堂久久国产91| 91精品国产成人| 狠狠综合久久av一区二区小说| 亚洲大胆人体在线| 色婷婷av一区二区三区久久| 亚洲欧美中文另类| 欧美福利视频网站| 国产精品美女久久久久久免费| 91在线观看免费高清| 久久精视频免费在线久久完整在线看|