--create table MenuItems(id int,parent_id int)
select *from menuitems
insert into menuitems values(1,null)
insert into menuitems values(2,null)
insert into menuitems values(3,2)
insert into menuitems values(4,3)
insert into menuitems values(5,4)
insert into menuitems values(6,3)
insert into menuitems values(7,6)
insert into menuitems values(8,7)
insert into menuitems values(9,5)
insert into menuitems values(10,1)
insert into menuitems values(11,10)
insert into menuitems values(12,11)
insert into menuitems values(13,12)
insert into menuitems values(14,13)
select *,dbo.getminparent(id) from menuitems
--select dbo.GetMinparent(12)
alter function GetMinparent(@id int)
returns int
begin
declare @pid int
set @pid=@id
while (@pid is not null)
begin
select @pid=parent_id from menuitems where id=@id
--print @pid
if(@pid is not null)
set @id=@pid
end
return @id
end
No comments:
Post a Comment