Code 1alter FUNCTION f_Cid(@ResultID int) 2 RETURNS @t_Level TABLE(ResultID char(3),Level int) 3 AS 4 BEGIN 5 DECLARE @Level int 6 SET @Level=1 7 INSERT @t_Level SELECT @ResultID,@Level 8 WHILE @@ROWCOUNT>0 9 BEGIN 10 SET @Level=@Level+1 11 INSERT @t_Level SELECT a.PARENTID,@Level 12 FROM D_COMPANYINFOType a,@t_Level b --这"D_COMPANYINFOType"要换成自己的递归表 13 WHERE a.D_CHILDID=b.ResultID --- “D_CHILDID”换成自己的递归表的 父ID14 AND b.Level=@Level-1 15 END 16 RETURN 17 END 18 GO19/**//*测试语句*/20 SELECT *21 FROM f_Cid(4) where level>12223--where Level>124 25 /**//*--结果 */ 2627 28 转载于:https://www.cnblogs.com/wangjun8868/archive/2009/04/20/1439797.html