递归查询三种实现方式

  1. 方式一 创建自定义函数实现递归查询注意:
    1.创建函数的时候,可能会报错。
    This function has none of DETERMINISTIC 在MySQL安装根目录个人配置文件
    my.ini中添加一行:log_bin_trust_function_creators=1
    然后重启MySQL服务。

2.创建函数的时候用到了系统函数GROUP_CONCAT(),该函数默认长度是1024,在配置文件my.ini 中修改默认长度,添加一行语句:group_concat_max_len=102400 保存后重启MySQL服务。查询sql SELECT @@global.group_concat_max_len;

3.这种方式实现之后,调用简单,但是效率较慢,而且由于字段 、函数、 长度的的限制,数据量大的时候可能查询不全。适合小数据量下使用。

  1. 查询子节点的函数 查询时 包含自身创建函数: – 查询子节点的函数 查询时包含自身

  2. CREATE DEFINER=root@localhost FUNCTION queryChildren_1_sys_region(areaId VARCHAR(15)) RETURNS varchar(20000) CHARSET utf8BEGINDECLARE sTemp VARCHAR(20000);DECLARE sTempChd VARCHAR(20000); SET sTemp=’$’;SET sTempChd = areaId; WHILE sTempChd IS NOT NULL DO SET sTemp= CONCAT(sTemp,’,’,sTempChd);SELECT GROUP_CONCAT(code) INTO sTempChd FROM sys_region WHERE FIND_IN_SET(parent_code,sTempChd)>0; END WHILE;RETURN sTemp;END查询示例:
    – 子节点 含自己SELECT * from sys_region where FIND_IN_SET(code,queryChildren_1_sys_region('370000000

递归查询三种实现方式相关推荐

  1. Hive metastore三种配置方式

    Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适合生产环境.Hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore. 一.本地d ...

  2. python数据结构与算法:二叉树及三种遍历方式(先序遍历/中序遍历/后序遍历)

    树的实现采用queue的形式: 树的三种遍历方式(广度优先白能力法):先序遍历(根左右),中序遍历(左根右)以及后序遍历(左右根) ######################P6.4 数据结构### ...

  3. FPGA之道(41)HDL的三种描述方式

    文章目录 前言 三种描述方式 结构化描述方式 数据流描述方式 行为级描述方式 前言 常编写Verilog代码的就会知道,我们对于某一功能的描述,可以通过门电路来描述,也可以直接描述其功能等,这就牵扯到 ...

  4. 【 Verilog HDL 】HDL的三种描述方式

    当我们使用HDL代码描述硬件功能的时候,主要有三种基本描述方式,即结构化描述方式.数据流描述方式和行为级描述方式.通过本次总结,我们将明白到底我们描述的电路是什么方式描述的. 结构化描述方式 结构化描 ...

  5. oracle if=,oracle中if/else的三种实现方式详解

    1.标准sql规范 1.单个IF IF v=... THEN END IF; 2.IF ... ELSE IF v=... THEN ELSE t....; END IF; 3.多个IF IF v=. ...

  6. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  7. JavaScript 闭包的详细分享(三种创建方式)(附小实例)

    JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...

  8. 1.5 使用new创建动态结构和自动, 静态, 动态三种存储方式

    1. 有些时候在运行时创建数组由于在编译时创建数组(有些时候不是这样, 比如使用OpenGL绘图和GPU并行计算结合的时候, 需要将大量的数据传送到显存, 每次计算完又要传送回宿主机渲染, 但并不是要 ...

  9. 三种去重方式——HashSet、Redis去重、布隆过滤器(BloomFilter)

    三种去重方式 去重就有三种实现方式,那有什么不同呢? HashSet 使用java中的HashSet不能重复的特点去重.优点是容易理解.使用方便. 缺点:占用内存大,性能较低. Redis去重 使用R ...

最新文章

  1. c# uri 取文件名_asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码...
  2. python 3d绘图 拖动_使用python-matplotlib连续3D绘图(即图形更新)?
  3. mysql授权 改表_mysql开启远程登陆(修改数据表和授权两种方法)
  4. 【例题+习题】【数值计算方法复习】【湘潭大学】(七)
  5. minio在不同平台下的启动命令
  6. 怎么把GMS的软件转到HMS
  7. 广商14级软件工程分数:第一回合
  8. hustoj Runtime Error (运行错误)的解决方法
  9. 光源与打光该如何选择,如何获得一副好图像,机器视觉第二步,选择光源和如何打光
  10. 学习正则表达式 - 用 HTML 标记文本
  11. 虚幻引擎图文笔记:使用布料模拟(Cloth Simulation)系统制作一面可以随风飘动的旗帜(更新)
  12. 建信金科是外包吗_为什么网上黑建信金科的这么多?
  13. 修改TTF字体美化显示效果【原文转自:http://www.linuxfans.org/】
  14. 代码BUG之曲线救国
  15. 解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)
  16. wordpress获取某个分类目录下文章数目的五种方法
  17. 圆点自动跟随鼠标移动
  18. python爬虫处理js混淆加密_Python爬虫—破解JS加密的Cookie
  19. 数字信号处理|Matlab设计巴特沃斯低通滤波器(冲激响应不变法和双线性变换法)
  20. idea如何import_导入项目

热门文章

  1. rsa私钥 txt转化为pem格式
  2. C++描述 LeetCode 112. 路径总和
  3. c语言百变图形,百变图标app官方版-百变图标更换图标app下载v1.0.0-西西软件下载...
  4. 西人应该骄傲,全国对不起山西
  5. php 微信模拟登陆给用户发送消息(文字,图片,图文)
  6. 后N天C语言,c语言计算一个日期的下一天后N天后的日期
  7. C++常函数的用法详解
  8. 谷歌Cartographer的论文研读(一)
  9. 261. Graph Valid Tree
  10. linux下安装nvm