mysql存储过程及修改数据

create procedure my_proc();//创建存储过程
begin  //开始存储过程 
declare my_id int; //自定义变量1  
declare my_content varchar(50);//自定义变量2
declare my_img varchar(50);//自定义变量3
declare my_title varchar(50);//自定义变量4 
DECLARE done INT DEFAULT FALSE;//自定义控制游标循环变量,默认false 
DECLARE My_Cursor CURSOR FOR (select id,content,title,img from testtitle);//定义游标并输入结果集 结果集越少越好
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;//绑定控制变量到游标,游标循环结束自动转true
OPEN My_Cursor;//打开游标 
myLoop: LOOP//开始循环体,myLoop为自定义循环名,结束循环时用到  
FETCH My_Cursor into my_id, my_content,my_img,my_title;//将游标当前读取行的数据顺序赋予自定义变量12  
IF done THEN//判断是否继续循环 
LEAVE myLoop;//结束循环 
END IF;
//update testtitle set num = num+100 where id = my_id;//更新num
update testtitle set content = CONCAT('aaa',content),title = CONCAT('aaa',title) where id = my_id;//更新具体内容,CONCAT中的content是数据表中原有的字段属性值
COMMIT;//提交事务
END LOOP myLoop;//结束自定义循环体
CLOSE My_Cursor;//关闭游标 
END; //结束存储过程  
call my_proc();//执行存储过程
drop procedure my_proc;//销毁该存储过程

猜你喜欢

转载自blog.csdn.net/weixin_36562804/article/details/80728514