delimiter // create procedure test_fetch_into() begin declare var_id int; declare var_name varchar(30); declare var_age int; declare cur cursor for select id, name, age from user; open cur; fetch cur into var_id, var_name, var_age; while (1 = 1) do if (row_count() = 0) then leave; end if; select concat('id:', var_id, ', name:', var_name, ', age:', var_age); fetch cur into var_id, var_name, var_age; end while; close cur; end // delimiter ;
在上述代码中,首先声明了三个变量var_id、var_name、var_age,用于存储查询结果中的id、name、age字段。然后,声明了一个cursor游标,用于查询表user中的数据。
在接下来的代码中,使用了fetch into命令将查询结果存储到变量中,然后通过while循环遍历所有的查询结果。
最后,通过close命令关闭cursor游标,完成存储过程的执行。