首页 > 数据库技术 > 详细

mysql 获取组织路径

时间:2021-06-09 17:47:54      阅读:24      评论:0      收藏:0      [点我收藏+]

在日常需求中,经常需要获取组织路径,比如给你一个区县的名称,得到的组织路径中国-某省-某市-某区;

CREATE DEFINER=`bsm_pd`@`%` FUNCTION `f_name`(`org_id` BIGINT) RETURNS text CHARSET utf8 COLLATE utf8_bin
    COMMENT ‘获取组织路径‘
BEGIN
	DECLARE fullName text;
	DECLARE parentId BIGINT;
	DECLARE parentName text;
	DECLARE fullid text DEFAULT org_id;
	
	set fullName = (SELECT t.org_name FROM t_org_table t WHERE t.org_id = org_id);
	set parentId = (SELECT t.p_org_id FROM t_org_table t WHERE t.org_id = org_id);

	WHILE parentId<>0 and find_in_set(parentId, fullid)<>1 DO
	    set parentName = (SELECT t.org_name FROM t_org_table t WHERE t.org_id = parentId);
            set fullName = CONCAT(parentName,",",fullName);
	    set fullid = CONCAT(parentId,",",fullid);
	    set parentId = (SELECT t.p_org_id FROM t_org_table t WHERE t.org_id = parentId);

        END WHILE;
	
	RETURN fullid;
  END

mysql 获取组织路径

原文:https://www.cnblogs.com/lxpaopao/p/14866983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!