【mysql】mysql命令行创建函数

mysql命令行模式下创建函数

修改命令分隔符为 “$$”,防止执行中函数中的 “;” 符截断函数

delimiter $$

执行创建函数

CREATE DEFINER=`root`@`%` FUNCTION `huai_GETPARLST`(rootId VARCHAR(32)) RETURNS varchar(1000) CHARSET utf8
BEGIN
 DECLARE sTemp VARCHAR(1000);
 DECLARE sTempPar VARCHAR(1000);
  DECLARE namesss VARCHAR(1000); 
 DECLARE namek VARCHAR(1000); 
 SET sTemp = ''; 
 SET sTempPar = rootId; 
 SET namesss = '';
 SET namek = '';
 WHILE sTempPar is not null and sTempPar <> '' DO 
  IF sTemp != '' THEN
   SET sTemp = concat(sTempPar,',',sTemp);
   SELECT `name` INTO namek FROM flow_gathering_area where id = sTempPar;
   IF namek != '' THEN
   SET namesss = concat(namek,',',namesss);
   ELSE
   SET namesss = namesss;
   END IF;
  ELSE
   SET sTemp = sTempPar;
   SELECT `name` INTO namesss FROM flow_gathering_area where id = sTempPar;
  END IF;
  SELECT group_concat(parent_id) INTO sTempPar FROM flow_gathering_area where parent_id<>id and FIND_IN_SET(id,sTempPar)>0; 
 END WHILE; 
RETURN namesss; 
END$$

执行成功

恢复命令分隔符为 ";"

delimiter ;

————————————————

原文链接:https://blog.csdn.net/weixin_44188501/article/details/119100524

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容