sql >> Databasteknik >  >> RDS >> Mysql

använd resultatuppsättning av mysql lagrad procedur i en annan lagrad procedur

Det du vill göra låter inte särskilt bra och du kanske borde fundera på att designa om dessa två proc. Du kan dock göra något liknande detta som en snabb lösning:

få din sp2 sproc att skriva sina mellanresultat till en tillfällig tabell som du sedan kan komma åt/bearbeta inuti sp1. Du kan sedan släppa den temporära tabellen som du skapade i sp2 när sp1 kommer tillbaka.

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

inte särskilt elegant men borde göra susen



  1. Hur man söker exakt nummer i php

  2. Hur man beräknar löpande totalsumma i MySQL

  3. Hur justify_hours() fungerar i PostgreSQL

  4. Konvertera "datetimeoffset" till "smalldatetime" i SQL Server (T-SQL-exempel)