自动维护路径信息的Sql Server无限级目录表
我做的网站基本上都要用到一个无限级的目录表,用来分门别类组织各种文章类的信息。这个表只有三个字段(Id,ParentId,Name),一直就是这样用也没出现过什么问题。直到昨天,碰到了一个问题。我需要知道某个目录下面所有的子孙目录都有哪些。如果以Id或ParentId来查找的话,只能取得父Id和子Id,却不知道爷爷Id、老爷Id、孙子Id、重孙Id...。
于是就在博问上发表了问题:http://space.cnblogs.com/question/3963/ 有园友提示在表中增加一个路径字段,也有园友给出了程序的实现代码,以循环方式来取得。我觉得在表中记录路径信息在使用当中相对更方便一些,效率可能也更高一些。 但是要维护这些路径信息也够麻烦的,每次增删改一个目录都要修改牵涉到它的每条记录。于是乎:-) 我就考虑能不能在表上做个触发器,自动完成这些任务呢。 说干就干,首先修改目录表的结构,增加两个字段(IdPath, NamePath),如下图: ![]() 再写一个存储过程。接受一个@Id参数,来更新Id=@Id的目录的路径信息。代码如下:
(编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 图解Windows十六代王朝进化兴衰史(1)
- sql-server – SQL中常量的最佳模式?
- SSIS从理论到实战再到应用(1) 创建自己的第一个包
- sql-server – 模仿group_concat()与GROUP BY结合使用
- 一步步教你配置SQL SERVER合并复制(六)配置Publisher(下
- sql-server-2008-r2 – SQL Server – 任何人都使用SUMA,跟
- 使用.NET或MS SQL模拟MySql的密码()加密
- TSQL – 如果记录存在于单个选择中,则将查询中的值分配给变
- Oracle与Sql Server复制表结构及数据的语句
- SQL Server页类型详解