首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL Server中更新"Hierarchyid“

在SQL Server中更新"Hierarchyid“
EN

Stack Overflow用户
提问于 2010-08-23 13:02:11
回答 1查看 1.7K关注 0票数 1

我在SQL Server的一个表中使用了Hierarchyid数据类型。

现在,我想要更改其中一行的父亲,但当我更改它的所有后代HierarchyId时,它的所有子代都必须相应地更改。

有没有一个函数可以做到这一点,或者我必须自己修改它们。如果我需要这样做,最好的方法是什么?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-23 14:35:53

使用"GetReparentedValue“函数来完成此操作。

下面是我对数据库中的一个表所做的操作:

代码语言:javascript
复制
DECLARE @FatherNode AS _INT_

SELECT @FatherNode = [PLC_PLC_ID]
FROM [dbo].[Place]
WHERE ([PLC_ID] = @PLC_ID)

UPDATE [dbo].[Place]
SET 
    [PLC_Tree] = [PLC_Tree].GetReparentedValue([dbo].[PLC_IDToTree](@FatherNode),[dbo].[PLC_IDToTree](@PLC_PLC_ID))
WHERE 
    ([PLC_Tree].IsDescendantOf([dbo].[PLC_IDToTree](@PLC_ID)) = 1) OR
    ([PLC_ID] = @PLC_ID)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3544862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档