- 浏览: 230802 次
- 性别:
- 来自: 北京
文章分类
最新评论
CREATE TABLE nodelist( id INT PRIMARY KEY, nodename VARCHAR(20), pid INT ); Insert INTO nodelist VALUES(1,'A',null); //父节点为,即根节点。 Insert INTO nodelist VALUES(2,'B',1); Insert INTO nodelist VALUES(3,'C',1); Insert INTO nodelist VALUES(4,'D',2); Insert INTO nodelist VALUES(5,'E',3); Insert INTO nodelist VALUES(6,'F',3); Insert INTO nodelist VALUES(7,'G',5); Insert INTO nodelist VALUES(8,'H',7); Insert INTO nodelist VALUES(9,'I',8); Insert INTO nodelist VALUES(10,'J',8);
CREATE FUNCTION `getChildList`(rootId INT) //rootId为你要查询的节点。 RETURNS VARCHAR(1000) BEGIN DECLARE pTemp VARCHAR(1000); DECLARE cTemp VARCHAR(1000); //两个临时变量 SET pTemp = '$'; SET cTemp =cast(rootId as CHAR); //把rootId强制转换为字符。 WHILE cTemp is not null DO SET pTemp = concat(pTemp,',',cTemp); //把所有节点连接成字符串。 SELECT group_concat(id) INTO cTemp FROM nodelist WHERE FIND_IN_SET(pid,cTemp)>0; // FIND_IN_SET(str,strlist)的方法网上大把不解释。 END WHILE; RETURN pTemp; END
select getChildList(5) select * from nodelist t where FIND_IN_SET(id, getChildList(3));
发表评论
-
Oracle 递归查询
2017-11-30 10:23 1127递归查询基础结构 select … from tablen ... -
Oracle32bit 兼容性
2017-10-26 10:17 1096Oracle10G 32bit 安装在 server08:选择 ... -
Oracle11G密码到期ORA-28002
2017-08-03 09:34 540问题: 系统启动失败, 报错ORA-28002(oracle ... -
wm_concat和listagg用法,合并行数据
2017-06-27 15:48 1364方法一 wn_concat() 函数 1、把以下图中Na ... -
Decode与NVL和NVL2区别
2017-06-27 15:23 730Decode decode(条件,值1,翻译值1,值2,翻 ... -
存储过程
2017-06-27 15:11 495CREATE OR REPLACE PROCEDURE P ... -
乐观锁与悲观锁
2017-03-28 13:15 458悲观锁(Pessimistic Lock): ... -
在线格式化工具
2017-03-27 20:37 523比较实用的在线工具: http://tool.lu/ -
解决linux 下 oracle 11g 密码过期问题(ORA-28002)
2017-03-27 16:46 988问题形成:oracle11g 密码过期时间是180天: 查看过 ... -
mysql
2017-03-23 13:57 324查看安装路径:select @@basedir as base ... -
sqlite3创建数据库
2016-12-09 17:42 6651.将sqlite3.exe目录添加到环境变量中 2.创建数据 ... -
Sqlite安装
2016-12-09 16:41 572学习:http://www.runoob.com/sqlite ... -
oracle dba与resource角色的区别
2016-08-02 14:25 647拥有dba角色的用户,就是数据库管理员、可以访问和修改所有用户 ... -
Oracle获得当天0点时间
2016-05-10 17:58 2813SELECT To_char(Trunc(SYSDAT ... -
Oracle授权访问视图
2016-04-25 11:46 1406-----用sys账号登录注册新用户---------CREA ... -
oracle删除一条重复数据
2016-04-21 15:20 898查询及删除重复记录 ... -
Oracle Exists 实现 in like 混合使用
2015-12-08 17:23 2099select t.*, t.rowid from sm_u ... -
Oracle - 数据库的实例、表空间、用户、表之间关系
2015-11-12 14:31 743完整的Oracle数据库通常由两部分组成:Oracle数据库 ... -
Oracle授予用户权限
2015-11-12 14:23 6320Oracle授予用户权限 需要在Oracle里创建一个用 ... -
dbms_lob 的 instr和substr
2015-11-02 11:55 2176dbms_lob包学习笔记之三:instr和substr存储过 ...
相关推荐
MySQL 递归查询实现方法 MySQL 递归查询是指在 MySQL 中实现类似 Oracle Hierarchical Queries 的功能,用于查询树形结构中的所有子节点。由于 MySQL 目前还没有内置的递归查询功能,因此需要使用其他方法来实现。 ...
### MySQL 递归查询知识点详解 #### 一、MySQL 递归查询概述 在数据库查询中,递归查询主要用于处理层级或树形结构的数据。这类数据的特点是每一项记录不仅包含自身的信息,还可能与其他记录形成上下级关系。MySQL...
本文将介绍并比较以下两种MySQL递归查询方法: 1. **使用自连接和递归联合(RECURSIVE UNION)**:这种方法通过将表与自身连接,并通过递归地应用联合查询来构建层级结构。 2. **利用变量和循环**:这种方法通过在...
MySQL 递归查询实现多分类查询 MySQL 递归查询是指在 MySQL 数据库中使用递归函数来实现树形结构数据的查询,例如部门表中某个部门的所有下属部分或者某个部分的所有上级部门。 在 MySQL 中实现递归查询需要使用...
通过上述分析,我们可以看出MySQL递归查询结合Java代码能够高效地构建出树形结构。这种方法不仅适用于MySQL,对于其他支持递归查询的数据库也同样适用。在实际项目开发中,合理利用递归查询能够极大地简化对层次结构...
地区表MySql递归sql脚本
在数据库管理中,递归查询是一种处理层次结构数据的有效方法,尤其在关系型数据库如MySQL中,递归查询可以帮助我们解决树形结构或有层级关系的数据检索问题。本资料主要探讨了MySQL中实现递归查询的三种常见方法:自...
这里,我们将深入探讨如何使用递归查询来构建菜单树,并特别关注在MySQL和Oracle这两种广泛使用的数据库系统中的实现。 首先,我们要理解什么是递归查询。递归查询是一种在数据库中处理层次数据的方法,它通过自身...
MyBatis是一个功能强大且灵活的持久层框架,它支持自查询和递归查询,下面我们将探讨如何使用MyBatis实现 N级联动效果。 递归查询 递归查询是指在一个查询中调用自身的查询,以便实现某些复杂的查询逻辑。在...
在MySQL中,处理树状结构的数据表时,由于不直接支持循环递归查询,因此需要采用一些特殊的技巧来实现对子节点和父节点的查找。本例中提到了两个存储过程,分别用于获取树状表中的子节点列表和父节点列表。 1. 获取...
用mysql实现oracle递归,通过with as 来实现
### MySQL多种递归查询方法详解 #### 一、Oracle中的递归查询方法 在Oracle数据库中,递归查询可以通过`START WITH CONNECT BY PRIOR`语句实现。此语句允许用户按照树状结构来检索数据。 ##### 1. `START WITH ...
最新省市区联动SQL CREATE TABLE `regions` ( `id` int(6) UNSIGNED NOT NULL COMMENT '编号', `parent_id` int(6) NOT NULL DEFAULT 0 COMMENT '上级编号', `deep` tinyint(1) NOT NULL DEFAULT 0 COMMENT '层级...
在提供的`mysql递归调用获取树节点(子树).doc`文档中,应该详细解释了这个过程,包括如何创建和执行存储过程,以及如何使用提供的测试数据。确保查看文档以获取完整的步骤和示例,以便在实际项目中成功应用这些...
在MySQL中,递归查询通常用于处理层次结构的数据,如组织结构、菜单系统或类别树等。当数据的层级关系无法预知或者可能无限深时,传统的JOIN操作可能无法满足需求,此时就需要自定义函数来实现递归查询。本文将详细...
本文将深入探讨如何通过递归查询来解决这类问题,并着重讲解使用`WITH`语句来实现递归查询的方法,适用于多种数据库系统,如MySQL、PostgreSQL、SQL Server等。 一、理解递归查询 递归查询是一种在数据库中遍历层级...
本篇文章将详细讲解如何利用Java和MySQL递归地实现拼接树形JSON列表的方法。 首先,我们需要理解问题的整体思路。在数据库中,我们可以将每个分类(或节点)存储为一个记录,包含ID、父ID(PID)以及名称等字段。...