137.查找指定节点的所有父节点的案例函数

博客围绕SQL语句展开,重点介绍了用于查找指定节点所有父节点的案例函数,在信息技术领域的数据库操作方面具有一定应用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE FUNCTION f_Pid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
	DECLARE @Level int
	SET @Level=1
	INSERT @t_Level SELECT @ID,@Level
	WHILE @@ROWCOUNT>0
	BEGIN
		SET @Level=@Level+1
		INSERT @t_Level SELECT a.PID,@Level
		FROM tb a,@t_Level b
		WHERE a.ID=b.ID
			AND b.Level=@Level-1
	END
	RETURN
END
GO


--上面的用户定义函数可以处理一个节点有多个父节点的情况,对于标准的树形数据而言,由于每个节点仅有一个父节点,所以也可以通过下面的用户定义函数实现查找标准树形数据的父节点。
CREATE FUNCTION f_Pid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3))
AS
BEGIN
	INSERT @t_Level SELECT @ID
	SELECT @ID=PID FROM tb
	WHERE ID=@ID
		AND PID IS NOT NULL
	WHILE @@ROWCOUNT>0
	BEGIN
		INSERT @t_Level SELECT @ID
		SELECT @ID=PID FROM tb
		WHERE ID=@ID
			AND PID IS NOT NULL
	END
	RETURN
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值