社区
MySQL
帖子详情
MySQL存储过程,递归查询
linuxlsx
2011-03-24 09:50:55
我现在有这样一个需求,给定两个编号A,B。需要找出从A->B的路径。数据库中的表格式很简单:
col1 col2
A C
C D
D B
然后我想通过查询得到 ACDB 这样的路径关系,不知道有没有好的解决方案。
...全文
249
4
打赏
收藏
MySQL存储过程,递归查询
我现在有这样一个需求,给定两个编号A,B。需要找出从A->B的路径。数据库中的表格式很简单: col1 col2 A C C D D B 然后我想通过查询得到 ACDB 这样的路径关系,不知道有没有好的解决方案。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACMAIN_CHM
2011-03-25
打赏
举报
回复
[Quote]这个Blog我参考过了,但是我的情况有点特殊。严格的来说,我的结构不是树而是有向图。而且这中间可能有环, A->B->C->D->B。 而且我不是想找到所有的子节点,我是想找到全路径[/Quote]
楼主不能指望我的通解能力足以支持我从你顶楼的例子分析出环的情况吧。
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式
http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
linuxlsx
2011-03-25
打赏
举报
回复
[Quote=引用 1 楼 acmain_chm 的回复:]
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/02/4142971.aspx
MySQL中进行树状所有子节点的查询
[/Quote]
这个Blog我参考过了,但是我的情况有点特殊。严格的来说,我的结构不是树而是有向图。而且这中间可能有环, A->B->C->D->B。 而且我不是想找到所有的子节点,我是想找到全路径
ACMAIN_CHM
2011-03-24
打赏
举报
回复
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/02/4142971.aspx
MySQL中进行树状所有子节点的查询
MySQL
递归查询
存储过程
DROP PROCEDURE IF EXISTS p_count_admincert; CREATE PROCEDURE p_count_admincert(IN rootId VARCHAR(64)) BEGIN DECLARE done TINYINT UNSIGNED DEFAULT(0); -- 控制while循环结束的标志 DECLARE p_depth SMALLINT UNS...
Mysql
存储过程
、存储函数 与
递归查询
目录
存储过程
存储过程
创建
存储过程
的参数 变量
MySQL
存储过程
的查询 流程控制语句
Mysql
游标(cursor)
Mysql
视图(View)
Mysql
触发器 数据准备: DROP TABLE IF EXISTS `book_2`; CREATE TABLE `book_2` ( `id` int(11) PRIMARY KEY auto_increm...
mysql
递归查询
,递归删除
存储过程
实现
之前写过oracle和
mysql
的
递归查询
和删除,这次再补上一个
mysql
的递归实现。 1、实现原理 (1)删除临时表 (2)创建临时表并清空 (3)利用临时表用来存放递归遍历出来的id列表 (4)从临时表中查询id列表 2、
递归查询
储存过程代码
存储过程
函数名称:findMenuChildList(menuPid varchar(32)) BEGIN DECLARE v_m...
mysql
存储过程
递归查询
create function getChildrenOrg(orgid char(255)) returns varchar(4000) BEGIN DECLARE oTemp VARCHAR(4000); DECLARE oTempChild VARCHAR(4000); SET oTemp = ''; SET oTempChild = orgid; WHILE oTempChild IS NOT NULL DO SET oTemp = CONCAT(oTemp,',',oTempChild);
mysql
存储过程
递归查询
语句_
mysql
存储过程
之
递归查询
对一颗树型结构存储的表进行
递归查询
,使用navicat for
mysql
创建
存储过程
pro_show_knowledge, 参数 -- IN `rootId` int ,通过知识点查询所有子节点数据并插入到临时表 tmp_knowledge_data中。注意深度的设置 ,set max_sp_recursion_depth = 100 ; 这句话必须加上。函数定义前添加DETERMI...
MySQL
57,062
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章