alter FUNCTION [dbo].[fu_GetCategoryParentPowerID]
(@powerid int)
RETURNS nvarchar(500)
as
begin
---------------------------
--declare @powerid int
--set @powerid=7
declare @tempTable TABLE
(
[ID] int,
[Name] varchar(100),
[ParentCategoryId] int
)
declare @nav nvarchar(500)
declare @navName nvarchar(100)
declare @oldId int
declare @ID int
set @ID=@powerid
set @oldId=@ID
set @nav=''
set @navName=''
while(@ID>0)
begin
select @ID=ParentCategoryId,@navName=Name from Categories where ID=@ID;
if @oldId=@ID
break
if(@ID>0)
begin
insert into @tempTable select ID,Name,ParentCategoryId from Categories where ID=@ID;
end
set @nav=@nav+'>'+@navName
end
--select * from @tempTable --order by id asc
--select @nav
RETURN @nav
end
---select dbo.fu_GetCategoryParentPowerID(7)
--------------
SQL获取所有祖先菜单,类别
最新推荐文章于 2025-01-09 16:03:19 发布