IF @ID <> @X BEGIN SELECT @ReturnValue = cast(ISNULL(dbo.Get32Ancestors(@ID),'') as varchar) + '-'+ cast(@X as varchar) END ELSE SET @ReturnValue = @ID RETURN @ReturnValue END go /* 2003-3-5 方法二: 无任何限制,若层次太深,效率当然不会高(好像也没更好的办法) 改进了一下: 1.正常节点均从0显示! 0-1-3 2.断码 显示 -7-8-9-10 3.GetAllAncestors(不存在的节点)返回NULL 4.GetAllAncestors(根节点)返回 0-自己 5.死循环点显示: 4-5-6-4-8 */ alter function GetAllAncestors (@X integer) returns varchar(1000) as begin declare @Return页码:[1] [2] [3] [4] [5] [6] [7] [8] 第4页、共8页 |