您的位置:首页 > 数据库 > MySQL

MySQL存储过程多条修改语句

2018-09-20 00:50 176 查看

DROP procedure Sel_Function_ActivityPastDue
DELIMITER $$
DROP procedure IF EXISTS`shouyi`.`Sel_Function_ActivityPastDue` $$
create procedure `shouyi`.`Sel_Function_ActivityPastDue` ( Endtime varchar(20))

begin
declare v int;
declare vcount int default 0;
declare NewActivity_IDs int; /**活动ID**/
declare CheckCunt int default 0; /**活动ID**/
select count(*) into v from POS_GOODS_Activity where Activity_EndTime<=Endtime;

LOOP_LABLE:loop /**开始循环**/
select Activity_ID into NewActivity_IDs from POS_GOODS_Activity where Activity_EndTime<=Endtime and Activity_Status=0 limit 1;

select count(*) into CheckCunt from POS_GOODS_Activity where Activity_EndTime<=Endtime and Activity_Status=0 limit 1;

if CheckCunt>0 then
update POS_GOODS_Activity set Activity_Status=2 where Activity_ID=NewActivity_IDs limit 100;
select NewActivity_IDs;
update POS_GOODS_NewActivity set NewActivity_Status=2 where NewActivity_ID=NewActivity_IDs limit 100;
select v;
end if;

set v=v-1;
set vcount=vcount+1;
if v<=0 then
leave LOOP_LABLE;/**跳出循环**/ 
end if;
end loop;
select vcount;
end $$
DELIMITER ;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: