delimiter $
createPROCEDURE PROC_COUPON_TIMING_TASK()
BEGIN
-- 定义变量
DECLARE key_Id INTDEFAULT0;-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE coupon_data CURSOR FOR SELECT u.id FROM xsxx_store_user_coupon u
LEFTJOIN xsxx_store_coupon c on u.coupon_id = c.id
WHERE NOW() >= c.end_time and u.status = 0;-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLERFORNOTFOUNDSET done = TRUE;-- 打开游标
OPEN coupon_data;
-- 遍历
read_loop: LOOP
-- 取值
FETCH NEXT from coupon_data INTO key_Id;
IF done THEN
LEAVE read_loop;
ENDIF;-- 将到期的优惠券修改状态为-1UPDATE xsxx_store_user_coupon SET`status` = -1WHERE id = key_Id;END LOOP;-- 关闭游标
CLOSE coupon_data;
END
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl