mysql 使用存储过程实现树节点的获取方法

 更新时间:2020年06月05日 09:02:30   作者:前方太黑暗  
这篇文章主要介绍了mysql 使用存储过程实现树节点的获取方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

如图:

表数据

这样的一棵树,如何获取“高寅瑞”下的所有节点(一条sql语句是肯定搞不定的)

通过存储过程来写

DELIMITER //
CREATE FUNCTION `getChildLst`(rootId INT)
 
RETURNS varchar(1000) READS SQL DATA
 
BEGIN
 DECLARE sTemp VARCHAR(1000);
 
 DECLARE sTempChd VARCHAR(1000);
 
 SET sTemp = '$';
 
 SET sTempChd =cast(rootId as CHAR);
 
 WHILE sTempChd is not null DO
 
 SET sTemp = concat(sTemp,',',sTempChd);
 
 SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0;
 
 END WHILE;
 
 RETURN sTemp;
 
END //

创建如上存储过程

select * from document_file_name where find_in_set(id, getChildLst(1));

总结

到此这篇关于mysql 使用存储过程实现树节点的获取的文章就介绍到这了,更多相关mysql 存储过程树节点获取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

    SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

    下面小编就为大家带来一篇SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • mysql如何为大表新增字段或索引

    mysql如何为大表新增字段或索引

    解决MySQL大表增加或增加索引操作超时的问题,可以通过建新表、加字段或索引、导数据到新表、改表名等步骤来实现,可以分批导入数据以防止超时,同时,还介绍了如何查询表中的所有字段以及在IDEA中设置执行超时时间的方法
    2025-03-03
  • 使用distinct在mysql中查询多条不重复记录值的解决办法

    使用distinct在mysql中查询多条不重复记录值的解决办法

    使用distinct在mysql中查询多条不重复记录值的解决办法...
    2006-12-12
  • MySQL数据库复合查询与内外连接图文详解

    MySQL数据库复合查询与内外连接图文详解

    本文详细介绍了在SQL中进行多表查询的技术,包括笛卡尔积、自连接、子查询、内连接和外连接等,文章还解释了union和unionall的区别,以及如何在from子句中使用子查询,这些技术对于处理复杂的数据库查询非常重要,可以有效地从不同表中提取和组合数据,需要的朋友可以参考下
    2024-10-10
  • MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

    MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

    MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本InnoDB,行锁仅锁定某一行,适用于高并发事务,选择合适的锁机制可以显著提升MySQL的并发性能和数据一致性,感兴趣的朋友一起学习吧
    2025-03-03
  • 一文详解MySQL—Join的使用优化

    一文详解MySQL—Join的使用优化

    JOIN是一种非常常见的操作,用于将两个或多个表中的数据合并到一个结果集中。MySQL支持多种JOIN类型,本文通过代码示例详细介绍了Join的使用优化,有需要的小伙伴可以参考阅读
    2023-04-04
  • mysql binlog 回滚示例解析

    mysql binlog 回滚示例解析

    严格来说mysqlbinlog 不能算回滚,他只是将过去的数据修改记录 重新执行一遍,但是从结果上来看,他也算把数据恢复到任意时间点了,这篇文章主要介绍了mysql binlog回滚示例解析,需要的朋友可以参考下
    2023-08-08
  • MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

    MySQL锁(表锁,行锁,共享锁,排它锁,间隙锁)使用详解

    本文全面讲解了MySQL中锁包括表锁,行锁,共享锁,排它锁,间隙锁的详细使用方法
    2018-10-10
  • mysql数据库远程访问设置方法

    mysql数据库远程访问设置方法

    MySQL数据库不允许从远程访问怎么办?本文提供了三种解决方法,需要的朋友可以参考下
    2008-02-02
  • windows安装MySQL到D盘的超详细步骤

    windows安装MySQL到D盘的超详细步骤

    MySQL数据库作为关系型数据库中的佼佼者,因其体积小,速度快,成本低,不仅受到了市场的极大追捧,也受到了广大程序员的青睐,下面这篇文章主要给大家介绍了关于windows安装MySQL到D盘的超详细步骤,需要的朋友可以参考下
    2023-03-03

最新评论