Mysql
 sql >> Database >  >> RDS >> Mysql

utilizzare il set di risultati della stored procedure mysql in un'altra stored procedure

Quello che vuoi fare non suona particolarmente bene e forse dovresti pensare a riprogettare quei 2 proc. Tuttavia, potresti fare qualcosa del genere come soluzione rapida:

fai in modo che il tuo sp2 sproc scriva i suoi risultati intermedi in una tabella temporanea a cui puoi quindi accedere/elaborare all'interno di sp1. Puoi quindi eliminare la tabella temporanea che hai creato in sp2 una volta che sp1 ritorna.

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();

non molto elegante ma dovrebbe fare il trucco