//多次测试可用 ^ ^
//包含4种测试情景,代码直接复制可用
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