То, что вы хотите сделать, звучит не очень хорошо, и, возможно, вам следует подумать о переделке этих двух процессов. Тем не менее, вы можете сделать что-то вроде этого как быстрое решение:
заставить вашего sp2 sproc записать промежуточные результаты во временную таблицу, которую вы затем сможете получить к доступу / обработать внутри sp1 После этого вы можете удалить временную таблицу, созданную в sp2, когда sp1 вернется.
http://pastie.org/883881
delimiter ;
drop procedure if exists foo;
delimiter #
create procedure foo()
begin
create temporary table tmp_users select * from users;
-- do stuff with tmp_users
call bar();
drop temporary table if exists tmp_users;
end #
delimiter ;
drop procedure if exists bar;
delimiter #
create procedure bar()
begin
-- do more stuff with tmp_users
select * from tmp_users;
end #
delimiter ;
call foo();
не очень элегантно, но должно сработать