搜索
系统检测到您的用户名不符合规范:

【备忘录】mysql存储过程,原创手写,已测试通过

浏览:624 发布日期:2018年06月15日 分类:技术分享 关键字: mysql存储过程
1 有问题的可以留言一起交流;
2 存储过程一般配合事件一起使用实现[定时任务],有不知道事件怎么搞的,可以留言
BEGIN
-- 对查询列表结果进行修改等处理
-- [ 用游标插入或修改特定条件的值 ]
##定义判断变量
DECLARE pro_id int(11);
DECLARE pro_title varchar(500);
DECLARE pro_msg varchar(500);
DECLARE pro_status int(11);

declare stop int default 0;
## 定义查询变量
DECLARE _cur CURSOR FOR SELECT id,title,msg,`status` FROM test;
-- 捕获异常
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null;
### 打开
OPEN _cur;
## /*游标向下走一步,将查询出来的值付给定义的变量*/
FETCH _cur INTO pro_id,pro_title,pro_msg,pro_status;
###循环判断
WHILE ( stop is not null) DO

-- 1 修改条件为null 的值
-- update test set title=DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%S') where title is null ;

-- 2 修改条件为 id=370的值 并加上if判断
-- IF (pro_id=370) THEN
-- update test set title=pro_id where id=370;
-- END IF;
-- 3 配合事件自动修改状态1
-- IF (pro_status is null || pro_status=0) THEN -- 测试使用"|"判断
-- 4 配合事件自动修改状态2
IF (pro_status = -1) THEN -- 相等
update test set msg='用户已被删除' where id=pro_id;
END IF;
-- 游标下移一行
FETCH _cur INTO pro_id,pro_title,pro_msg,pro_status;
END WHILE;
## 关闭
CLOSE _cur;
END
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
382379437
积分:950 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /