mysql 存储过程 使用游标demo
-- 游标 repeat循环
create procedure test()
begin
DECLARE ct VARCHAR(32);
declare cnt int default 0;
declare i int default 0;
declare done int default 0;
DECLARE citys CURSOR FOR select replace(name,"城区","")as city from area where level ='city';
declare continue handler for not found set done = 1;
select count(name) into cnt from area where level ='city';
OPEN citys;
repeat
FETCH citys into ct;
if done != 1 then
update deliver set city = (case when INSTR(address, ct) then ct end);
COMMIT;
end if;
until done = 1
end repeat;
CLOSE citys;
end;