mysql函数+存储过程
来源:互联网 发布:数据库更新数据语句 编辑:程序博客网 时间:2024/05/03 01:42
用mycat写的函数
------------------------------函数------------------------------
//这是一个计算输入一个日期和当前日期之间相差月份的函数
BEGIN
DECLARE m INTEGER(11);if birthday is null then
set birthday=now();
end if;
if day(birthday) > day(curdate()) THEN
set m = ((year(curdate())-year(birthday))*12+(month(curdate())-month(birthday)) -1);
else
set m = ((year(curdate())-year(birthday))*12+(month(curdate())-month(birthday)));
end IF;
RETURN m;
END
右键点击运行函数:跳出输入框
输入:‘2016-04-05’//记住一定要加单引号
直接输出结果:
---------------------------------存储过程【只需要点击右键,运行存储过程,输入参数即可】-------------------------------------------------------
s_push_user_iso_day
其中day_param 是声明的入参,在下图的名中设置参数名
在创建存储过程的时候定义的
BEGIN
DELETE FROM s_user_client_bind_ios_day WHERE day=day_param;
INSERT INTO s_user_client_bind_ios_day (suc_uid,day,suc_cid,os_version,client_version,create_time,update_time,device_no,birthday)
#IOS 数据 插入表s_user_client_bind_ios_day
SELECT
sucb.suc_uid,
getBTDays(sucb.`birthday`) AS day,
sucb.suc_cid,
sucb.os_version,
sucb.client_version,
NOW() as create_time,
NOW() as update_time,
sucb.device_no,
sucb.birthday
from s_user_client_bind sucb
WHERE getBTDays(sucb.`birthday`) =day_param
AND sucb.suc_type= 1 ;#1 IOS 2 是Android
END
---------------------------------------------------
s_push_user_android_gedui_day
BEGIN
#Routine body goes here...
DELETE FROM s_user_client_bind_android_getui_day where day=day_param;
INSERT INTO s_user_client_bind_android_getui_day (suc_uid,day,suc_cid,os_version,client_version,create_time,update_time,device_no,birthday)
#安卓-个推 插入表s_user_client_bind_andorid_getui_day
SELECT
sucb.suc_uid,
getBTDays(sucb.`birthday`) AS day,
sucb.suc_cid,
sucb.os_version,
sucb.client_version,
NOW() as create_time,
NOW() as update_time,
sucb.device_no,
sucb.birthday
from s_user_client_bind sucb
WHERE getBTDays(sucb.`birthday`) =day_param
AND sucb.suc_type= 2; #1 IOS 2 是Android
END
----------------------------------
s_push_user_android_yumeng_day
BEGIN
#Routine body goes here...
#安卓-友盟 插入表s_user_client_bind_andorid_yumeng_day
DELETE FROM s_user_client_bind_android_yumeng_day where day=day_param;
INSERT INTO s_user_client_bind_android_yumeng_day (suc_uid,day,suc_cid,os_version,client_version,create_time,update_time,device_no,birthday)
SELECT
sucba.uid,
getBTDays(sucba.birthday) AS day,
sucba.cid,
sucba.os_version,
sucba.client_version,
NOW() as create_time,
NOW() as update_time,
sucba.device_no,
sucba.birthday
FROM
s_user_client_bind_android sucba
where getBTDays(sucba.birthday)=day_param;
END;
存储写好以后,设置计划:设置:开始时间+ 频率
发现存储过程不执行
=======================一个事件里面,同时调用多个存储过程====================
没有加begin end:.....多么痛的领悟
这样就ok了,以后一定注意啊,要养成这样的好习惯
- mysql 函数 + 存储过程
- mysql函数+存储过程
- MySQL存储过程、函数
- MySQL存储过程、函数
- mysql存储过程,函数
- mysql存储过程存储函数
- [MySQL] MySQL存储过程与存储函数
- 【MySQL】MySQL函数、自定义函数、存储过程
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程及函数
- Java中从前往后和从后往前遍历ArrayList
- 访问内容提供器(ContentProvider)提供的数据
- 数据结构实验之查找一:二叉排序树
- Record Video Simply
- 其实你也懂指针计算
- mysql函数+存储过程
- 1
- mysql 查询语句
- ※ Leetcode - Array - 380. Insert Delete GetRandom O(1)(vector+map实现set)
- C++中的new、operator new与placement new
- hdu 3038 带权并查集
- tab标签页切换
- 从苏宁电器到卡巴斯基第27篇:难忘的三年硕士时光 V
- PopupWindow和PopupMenu