mysql存储过程循环遍历批量修改

create procedure sum1(a int)

begin

declare sum int default 0; -- default 是指定该变量的默认值

declare i int default 1;

declare uid bigint(18);

DECLARE cs CURSOR FOR (select DISTINCT REL_ID from bc_data_mould_detail where DATA_SORT=0 AND DELETE_STATE=0);

open cs;

while i<=a DO -- 循环开始

fetch cs into uid;

SELECT uid;

set @r:=0;

update bc_data_mould_detail set DATA_SORT=(@r:=@r+1) where REL_ID = uid AND DATA_SORT=0 ;

set sum=sum+i;

set i=i+1;

end while; -- 循环结束

close cs;

select sum; -- 输出结果

end;


-- 执行存储过程

call sum1(539);

-- 删除存储过程

drop procedure if exists sum1;

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章