mysql存储过程 游标
Sql代码 create table table1(id int,name varchar(100)); create table table2(id int,name varchar(100)); create table table3(name varchar(100)); insert into table1 values(1,'李'); insert into table1 values(2,'张'); insert into table1 values(3,'王'); insert into table1 values(4,'孙'); insert into table2 values(1,'智宇'); insert into table2 values(2,'权'); insert into table2 values(3,'飞'); insert into table2 values(4,'中山'); delimiter $ create procedure pc_test() begin declare i int; declare vname varchar(100); declare done int; declare c1 cursor for select id from table1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; open c1; cursor_loop:loop FETCH c1 INTO i; if done=1 then leave cursor_loop; end if; insert into table3 (name) select name from table2 where id =i; end loop cursor_loop; CLOSE c1; end $ delimiter ; create table table1(id int,name varchar(100));
create table table2(id int,name varchar(100));
create table table3(name varchar(100));
insert into table1 values(1,'李');
insert into table1 values(2,'张');
insert into table1 values(3,'王');
insert into table1 values(4,'孙');
insert into table2 values(1,'智宇');
insert into table2 values(2,'权');
insert into table2 values(3,'飞');
insert into table2 values(4,'中山');
delimiter $
create procedure pc_test()
begin
declare i int;
declare vname varchar(100);
declare done int;
declare c1 cursor for select id from table1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
open c1;
cursor_loop:loop
FETCH c1 INTO i;
if done=1 then
leave cursor_loop;
end if;
insert into table3 (name)
select name from table2 where id =i;
end loop cursor_loop;
CLOSE c1;
end
$
delimiter ;
0 顶6 踩
原文章浏览量:2058
原文章分类:数据库
原文链接:https://www.iteye.com/blog/lizhiyu-1565496