经过两个星期断断续续的努力,终于把这棵树种下了,这是棵可以拖拽修改树结构的树,中间有700行javascript代码,用了5个sql存储过程,或许有点复杂,或许有比这更简单的办法,不过我想再简单这700行js代码是免不了的。这过程也体会到“sql语法的博大精深”(某老大语),比如递归是树用的算法中最经典的,但是在sql中怎么办?不能用递归,怎么编历树?一个循环加一个临时表就能解决问题
表的结构是这样的
id int,pid int
--创建一个临时表
create table #a(id int,pid int)
declare @pare int
set @pare=@pID
insert into #a (id,pid) values (@id,0)
WHILE(@@ROWCOUNT<>0)
begin
insert into #a
select id,parent from tb_user_topic
where parent in (select ID from #a) and id not in(select ID from #a)
end
这样临时表中存放的就是编历过后的节点,简单啊
◆
【Work】
一棵树
◈
评论 (0)
暂无评论,快来抢沙发~
发表评论