近日,考虑到在程序中递归查询速度较慢,公司写了一个虚拟目录寻找父节点的存储过程,以ID列出来,用,分割
-- Function "getparentlst" DDL
CREATE DEFINER=`root`@`localhost` FUNCTION `getparentlst`(myid INT) RETURNS varchar(1000) CHARSET utf8
begin
DECLARE sTemp INTEGER;
DECLARE sTempChd VARCHAR(1000);
set sTemp=myid;
set sTempChd='';
WHILE sTemp<>0 do
select parentdir into sTemp from virsualdir where id =sTemp;
if(sTemp<>0) then
SET sTempChd = concat(sTemp,',',sTempChd);
end if;
end WHILE;
set sTempChd=left(sTempChd,CHARACTER_LENGTH(sTempChd)-1);
RETURN sTempChd;
end
分享到:
相关推荐
虽然MySQL官方没有计划在未来的版本中添加CTE,但可以通过自连接或其他方法来实现类似的功能,例如使用存储过程或者多次查询来逐层获取子节点。 对于MySQL,一种常见的解决方案是使用自连接和`UNION ALL`,但这通常...
- **父节点(Parent Node)**:除了根节点外,每个节点都有一个父节点,是上一层级的节点。 - **叶节点(Leaf Node)**:没有子节点的节点。 - **兄弟节点(Sibling Nodes)**:具有相同父节点的节点。 2. **树...
在处理蚂蚁爬杆问题时,可以通过动态规划来找到最优的爬行路径,即在爬行过程中寻找最优解。 在浏览器中输入一个URL并回车后,会经过域名解析、建立TCP连接、发送HTTP请求、接收HTTP响应、浏览器解析并渲染页面等一...
如果找到的元素有父节点,就继续递归查找其父节点,直到找到根节点为止。最后返回整个家谱树。 2. **迭代方法**: 迭代方法通常比递归更高效,因为它避免了函数调用的开销。在示例中,`tree()` 函数使用一个循环来...
合法的值包括`_parent`、`_self`、`_top`等,分别表示在父框架集、当前窗口、顶层窗口中打开链接。 #### 报表统计汇总函数 - **知识点**:报表统计汇总函数用于对数据进行统计分析。 - **解析**:报表统计汇总函数...
- **层次数据模型**:在层次数据模型中,数据以树形结构组织,只有一个根节点没有父节点,其余每个节点最多有一个父节点。 ### 21. 结论 以上总结涵盖了计算机基础、编程语言、数据库管理、网络技术等多个方面的...
在`treegetbyuid`函数中,通过遍历数据源数组,寻找具有指定父ID的子节点,并将其从原始数据中移除,加入到新的子节点数组中。 `treeMakeDeep`函数根据当前的深度递归次数,生成相应的层级缩进符号,使得输出的树形...
22. **堆的构建**:通过调整父节点与子节点的关系,将无序数组转换成最大堆或最小堆。 23. **动态规划**:解决最优化问题,通过子问题的最优解推导全局最优解,如斐波那契数列、背包问题等。 24. **iptables原理**...
存储过程的概念与优缺点 - **概念**:一组预编译的SQL语句和控制流语句的集合。 - **优点**:提高性能、简化应用程序开发。 - **缺点**:移植性差、调试困难。 #### 17. 必胜策略 - **策略**:若初始球数除以(M+...
1.2.10. 求二叉树中节点的最大距离................................................................ 37 1.3. 面试题集合(二) .................................................................................