A表
B表
复制A表的数据code到B表
一、普通SQL
UPDATE A a,B b set b.`code`=a.`code` where a.`name`=b.`name`;
二、存储过程
#定义复制存储过程
drop procedure if exists copy_A_to_B;
create procedure copy_A_to_B()
begindeclare a_name varchar(255);declare a_code varchar(255);declare done int default false;#游标,遍历A表declare A_Cursor CURSOR FOR select * from A;#游标状态declare continue HANDLER for not found set done = true;#打开游标open A_Cursor;#循环start_loop:loop#读取游标一行数据fetch A_Cursor into a_name,a_code;#没有读取到数据if done thenleave start_loop; #退出循环end if;update B set `code`=a_code where name=a_name;#更新数据库end loop; #循环末尾close A_Cursor; #关闭游标
end;#调用存储过程
call copy_A_to_B()