前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【进阶之定义函数】一个查询树结构数据的集合

【进阶之定义函数】一个查询树结构数据的集合

作者头像
用户5640963
发布2019-10-19 12:22:34
4700
发布2019-10-19 12:22:34
举报
文章被收录于专栏:卯金刀GG

1、基本定义

代码语言:javascript
复制
delimiter 自定义符号  -- 如果函数体只有一条语句, begin和end可以省略, 同时delimiter也可以省略

create function 函数名(形参列表) returns 返回类型  -- 注意是retruns

  begin

    函数体    -- 函数内定义的变量如:set @x = 1; 变量x为全局变量,在函数外面也可以使用

    返回值

  end

自定义符号
delimiter ;

示例:

代码语言:javascript
复制
-- 自定义函数
delimiter $$
create function myfun3(ia int, ib int) returns int
begin
    return ia + ib;
end
$$
delimiter ;

2、需求

2.1 统计文章分类的数量,分类是树形结构,所以有一个先查询分类树形的级别的集合。使用的函数包括FIND_IN_SET

3、shi'li

代码语言:javascript
复制
DELIMITER $$

USE `hk`$$

DROP FUNCTION IF EXISTS `queryChildren`$$

CREATE DEFINER=`root`@`192.168.2.%` FUNCTION `queryChildren`(tId VARCHAR(4000)) RETURNS VARCHAR(4000) CHARSET utf8
BEGIN
	DECLARE sTemp VARCHAR(4000) DEFAULT '$';
	DECLARE sTempChd VARCHAR(4000) DEFAULT tId;
	
	WHILE sTempChd IS NOT NULL DO
	
	SET sTemp= CONCAT(sTemp,',',sTempChd);
	SELECT GROUP_CONCAT(id) INTO sTempChd FROM hk_filetype WHERE FIND_IN_SET(parentFileTypeId,sTempChd)>0;
	END WHILE;
	
	RETURN sTemp;
    END$$

DELIMITER ;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档