sql server 求大神 解决递归问题

一张表有三个字段id,up_id,route,每条数据中up_id是该id的上级id,我想写一条语句或者写一个存储过程,生成route字段里面的内容:route的生成规则... 一张表有三个字段 id,up_id,route,每条数据中up_id是该id的上级id,我想写一条语句或者写一个存储过程,生成route字段里面的内容:

route的生成规则是,该条数据的id +’,‘+该条数据的上级route。
展开
 我来答
秋梵桖枫em
2012-07-25 · TA获得超过1387个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:409万
展开全部
这个需要写一个函数来做。
CREATE FUNCTION [dbo].[fget_route]
(
@cId VARCHAR(10),
@croute VARCHAR(8000)
)
RETURNS varchar(8000)
AS
BEGIN
DECLARE @uproute VARCHAR(1000)
DECLARE @up_Id VARCHAR(10)
IF @cId <> '0' AND @cId <> '' BEGIN
--取到上级ID
SELECT @up_Id = up_Id FROM [532信息] WHERE id = @cId
--取上级route
SELECT @uproute = [route] FROM [532信息] WHERE id = @up_Id
IF @croute <> '' BEGIN
SET @croute = @cId+','+@uproute+ ',' +@croute
END
ELSE BEGIN
SET @croute = @cId+','+@uproute
END
RETURN dbo.fget_route(@up_Id,@croute)
END

RETURN @Allroute
END
--版权所有:532信息网
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式