Това, което искате да направите, не звучи особено добре и може би трябва да помислите за препроектиране на тези 2 процеса. Въпреки това, можете да направите нещо подобно като бързо решение:
накарайте вашия sp2 sproc да запише своите междинни резултати във временна таблица, до която след това можете да получите достъп/обработете вътре в sp1. След това можете да премахнете временната таблица, която сте създали в sp2, след като sp1 се върне.
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();
не е много елегантно, но трябва да свърши работа