一棵树

经过两个星期断断续续的努力,终于把这棵树种下了,这是棵可以拖拽修改树结构的树,中间有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

这样临时表中存放的就是编历过后的节点,简单啊




[本日志由 英雄无敌 于 2005-08-04 01:14 PM 编辑]
上一篇: 今天改版后第一个log
下一篇: 祝贺网站备案成功
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 5337
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 5000 字 | UBB代码 关闭 | [img]标签 关闭