mysql默认结束标识符为";",但是有多个语句需要执行,所以定义$$为一句sql的结束标志,取消";"的所代表的意义;
delimiter $$
如果存在名字为recyclingStatistical的procedure(存储过程)则删除;
DROP PROCEDURE IF EXISTS recyclingStatistical;
创建(创建函数使用的关键字为function 函数名());
CREATE PROCEDURE recyclingStatistical()
BEGIN
# 声明变量
DECLARE r_day varchar(10);
DECLARE m_id int;
DECLARE m_os int;
# 设置游标初始值为0;
DECLARE flag INT DEFAULT 0;
# DECLARE(定义变量) CURSOR(游标=数组中的下标,标识数据去到什么地方了) 记录sql查询的结果;
DECLARE id_list CURSOR FOR SELECT LEFT(member_createtime,10),member_id,member_os FROM t_member;
# 为下面while循环建立一个退出标志,当游标遍历完后将flag的值设置为1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
# 打开定义的游标id_list;
OPEN id_list;
# 将游标中的值赋给定义好的变量,实现for循环的要点;
FETCH id_list INTO r_day,m_id,m_os;#m_os:1_安卓,2_苹果手机