当前位置: 首页 > article >正文

MySQL --- 自定义函数获取部门层级名称

介绍

使用MySQL自定义函数,获取当前部门及上级所有部门的名称。

示例代码

向自定义函数传入子级部门id,自定义函数返回,子级部门名称及上级所有层级部门名称,以" / "分隔符分割。

(1)创建自定义函数

CREATE FUNCTION `read_group_names`(id int) RETURNS varchar(255)
begin
	declare s_parent_group_id int default 0;
	declare s_group_name text default '';
	declare s_group_names text default '';
	set s_parent_group_id=id;
	a:loop
		select parent_group_id,group_name into s_parent_group_id,s_group_name from sys_group where group_id=s_parent_group_id;
		if s_group_names='' 
		then 
		set s_group_names=s_group_name;
		else
		set s_group_names=concat(s_group_name,' / ',s_group_names);
		end if;
		if s_parent_group_id=0 then leave a;
		end if;
	end loop a;
	return s_group_names;
END

(2)使用自定义函数

方式1:直接调用

select read_group_names(11);

11是子级部门id。

方式2:含在查询语句中

select id,read_group_names(id) from sys_group;

http://www.kler.cn/a/393297.html

相关文章:

  • linux 压缩文件为zip
  • nonolog转化为ctf的困难
  • 使用Java创建RabbitMQ消息生产者的详细指南
  • 数据结构——B-树
  • Docker 安装 中文版 GitLab
  • spring中的@Bean和@Component有什么区别?
  • 修改mysql默认字符集
  • C语言最简单的扫雷实现(解析加原码)
  • 各版本android studio下载地址
  • Vue slot 插槽 v-slot属性具名插槽
  • 足球社区管理系统 基于Spring Boot框架实现的足球社区管理系统(程序+数据库+报告)
  • 当kafka消费的数据滞后1000条时,打印告警信息
  • 在 Jupyter Notebook 中使用 Matplotlib 进行交互式可视化的教程
  • 第23节 arkts 如何实现多语言
  • 蓝桥杯每日真题 - 第7天
  • 重构代码之移动字段
  • AutoSAR CP DoIP规范导读
  • 网页直播/点播播放器EasyPlayer.js无插件H5播放器关于其后地址不带协议后缀的判断逻辑
  • 方法论-利益驱动模型与系列选择模型(说服他人)
  • acwing算法基础02一高精度,前缀和,差分
  • 引入第三方jar包部署服务器后找不到jar处理方法
  • Ansible剧本检测Windows防火墙状态
  • Redis - 哨兵(Sentinel)
  • 【MySQL】summary
  • 传奇996_21——龙岭事件
  • 丹摩征文活动 |通过Pycharm复现命名实体识别模型--MECT模型