CREATE FUNCTION 名称(@ID VARCHAR(10))
RETURNS varchar(8000)
AS
BEGIN
declare @i int,@ret varchar(8000)
declare @t table(ID VARCHAR(10),PID VARCHAR(10),Level INT)
set @i = 1
insert into @t select CategoryID,ParentCategoryID,@i from Category where CategoryID = @ID
while @@rowcount<>0
begin
set @i = @i + 1
insert into @t
select
a.CategoryID,a.ParentCategoryID,@i
from
Category a,@t b
where
a.CategoryID=b.PID and b.Level = @i-1
end
select @ret = isnull(@ret,'')+ID+',' from @t order by Level
return @ret
END