首页 > 数据库技术 > 详细

sql 2种递归

时间:2014-08-20 21:06:22      阅读:356      评论:0      收藏:0      [点我收藏+]

alter FUNCTION f_Cid(@ID int)
RETURNS @t_Level TABLE(ID int,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.[MenuId],@Level
  FROM [MMS_Menu] a,@t_Level b
  WHERE a.[MenuParentId]=b.ID
   AND b.Level=@Level-1
 END
 RETURN
END
GO
select * from f_Cid(101) b,[MMS_Menu] a where a.MenuId=b.ID

  with cte as

 (

 select a.ID,a.date,a.name,a.pID from dbo.testb a where a.ID=@pid

 union all  

 select k.ID,k.date,k.name,k.pID  from dbo.testb k inner join cte c on c.ID = k.pID

 )
 select * from cte ;

sql 2种递归,布布扣,bubuko.com

sql 2种递归

原文:http://www.cnblogs.com/zhangweixin/p/3925459.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!