Mysql
 sql >> Base de données >  >> RDS >> Mysql

utiliser le jeu de résultats de la procédure stockée mysql dans une autre procédure stockée

Ce que vous voulez faire ne semble pas particulièrement bon et vous devriez peut-être penser à reconcevoir ces 2 procs. Cependant, vous pouvez faire quelque chose comme ceci comme solution rapide :

obtenez votre sp2 sproc pour écrire ses résultats intermédiaires dans une table temporaire à laquelle vous pouvez ensuite accéder/traiter à l'intérieur de sp1. Vous pouvez ensuite supprimer la table temporaire que vous avez créée dans sp2 une fois que sp1 revient.

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

pas très élégant mais devrait faire l'affaire