mysql自定义函数实现

环境准备

查看mysql版本

select version();


查看mysql存储引擎

show variables like '%storage_engine%';

创建测试表

CREATE TABLE `dsp_user_media_tag` (`id` int(11) NOT NULL AUTO_INCREMENT,`imei` varchar(50) COLLATE utf8_bin DEFAULT NULL,`tagname` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '标签名称',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `dsp_user_interest_tag` (`id` int(11) NOT NULL AUTO_INCREMENT,`imei` varchar(50) COLLATE utf8_bin DEFAULT NULL,`tag` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '用户兴趣标签',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

测试数据

select imei,tagname from test.dsp_user_media_tag limit 10;


创建函数

实现用户多标签的合并

drop FUNCTION  if EXISTS test.get_user_media_tag;
create FUNCTION test.get_user_media_tag(user_id VARCHAR(40))
RETURNS text
BEGINDECLARE tags text DEFAULT '';DECLARE tag VARCHAR(64) default '';DECLARE a int DEFAULT 0;DECLARE cur_tags CURSOR for select a.tagname from test.dsp_user_media_tag a where a.imei=user_id;DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET a=1; OPEN cur_tags;while a<>1 DOFETCH cur_tags into tag;set tags = CONCAT(tags,tag);END WHILE;CLOSE cur_tags;RETURN tags;
END;

调用函数

select imei,test.get_user_media_tag(imei) from (select DISTINCT imei from test.dsp_user_interest_tag) u;

附存储过程创建调用方式

drop PROCEDURE if EXISTS test.combine_tags;
create PROCEDURE test.combine_tags()
BEGIN
DECLARE uid VARCHAR(40) DEFAULT '';
DECLARE a int DEFAULT 0;
DECLARE ut text DEFAULT '';
DECLARE user CURSOR FOR  SELECT DISTINCT b.imei from test.dsp_user_interest_tag b;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET a=1;
OPEN user;FETCH user into uid;while a<>1 doset ut = CONCAT(ut,test.get_user_media_tag(uid));select uid,ut;FETCH  user into uid;end while;
CLOSE user;
END;
call test.combine_tags();       --调用存储过程

mysql自定义函数实现相关推荐

  1. mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数

    分享一段mysql自定义函数的代码,在其中用到了mysql的字符串函数length. 代码: mysql> delimiter $$ mysql> CREATE FUNCTION myFu ...

  2. 数据库系列之mysql 自定义函数function,函数和存储过程的区别

    mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...

  3. mysql 自定义函数function,函数和存储过程的区别

    From: https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要 ...

  4. mysql 自定义函数教程_MySQL自定义函数

    MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...

  5. MySQL自定义函数(四十六)

    MySQL自定义函数 一.什么是MYSQL自定义函数? mysql当中的自定义函数,我们简称为UDF,它实际上是一种对MySQL扩展的途径,其用法与内置函数相同. 二.自定义函数应该具备哪些条件? 我 ...

  6. mysql 自定义函数教程_Mysql 自定义函数

    Mysql 自定义函数怎么用 CREATE FUNCTION `strip_tags`($str text) RETURNS text BEGIN DECLARE $start, $end INT D ...

  7. MySQL自定义函数创建与使用总结

    MySQL自定义函数创建与使用总结 MySQL自定义函数和存储过程类似,也需要在数据库中创建并保存.它与存储过程一样,都是由SQL语句和控制语句组成的代码片段,可以被应用程序和其他SQL语句调用. M ...

  8. mysql自定义函数示例代码,以及属性介绍

    以下是一个MySQL自定义函数的示例代码,该函数实现了将指定字符串中的大写字母转换为小写字母的功能: DELIMITER $$ CREATE FUNCTION to_lower(str VARCHAR ...

  9. MySQL自定义函数的使用及MySQL中的流程控制语句

    MySQL自定义函数 文章目录 MySQL自定义函数 创建自定义函数 自定义函数的调用 自定义函数的删除 自定义函数的维护 流程控制语句 条件控制语句 循环语句 创建自定义函数 创建自定义函数时, 开 ...

最新文章

  1. [转]Java + TestNG + Appium 实现单机多个Android终端并发测试
  2. python随机排列图片_python 随机打乱 图片和对应的标签方法
  3. strom-1.1.0模拟单词统计功能,Spout编写,Bolt编写,TopologyDriver编写,本地模式运行,集群模式运行,集群模式下看输出结果
  4. Shell Notes(1)
  5. Hibernate中使用Criteria查询及注解——(Emp.java)
  6. [转]UpdatePanel的用法详解
  7. 继13吨快递烧成灰后 “双11奇葩收件名”又热搜了...
  8. 赛锐信息:SAP的ERP蓝图
  9. iSPRINT:Google 最高能的创新加速课程,让你 5 天就能验证创业想法!
  10. php mysql旅游管理系统毕业设计网站作品
  11. matlab 贝叶斯信息标准_Matlab中贝叶斯(bayes)分类器实现分类
  12. js判断浏览器是否安装或启用了flash的方法总结
  13. Daily Scrum02 12.17
  14. python编程新手常犯的错误_Python新手常犯的10个错误 - 里维斯社
  15. 自定义日历控android,android 一个简单的自定义日历控件,让你掌控时间
  16. java系统源代码_JAVA学生管理系统源代码
  17. 思科ccnp现在出来工作有多少钱
  18. Vue基础语法之计算属性
  19. vmd参数优化 matlab,遗传算法优化VMD参数
  20. mysql slave_pending_jobs_size_max_MySQL MTS复制: hitting slave_pending_jobs_size_max

热门文章

  1. Numpy中reshape的用法
  2. 系统中的DTO与MO
  3. fifo的rdata_FIFO的使用总结
  4. 文章列表的显示 以及创建文章 还有文章详情的基本--react项目5
  5. jquery管理数据
  6. Linux iperf 用法介绍
  7. asp.net core ABP模板本地化设置
  8. 消费者洞察案例分析_情绪搜索洞察定时器案例研究
  9. halcon变量,图像与C++的一些转换(未完待续)
  10. 【优化求解】基于蝗虫算法求解单目标问题matlab代码