Mysql
 sql >> база данни >  >> RDS >> Mysql

използвайте набор от резултати от съхранена процедура на mysql в друга съхранена процедура

Това, което искате да направите, не звучи особено добре и може би трябва да помислите за препроектиране на тези 2 процеса. Въпреки това, можете да направите нещо подобно като бързо решение:

накарайте вашия 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();

не е много елегантно, но трябва да свърши работа



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Топ 'n' резултати за всяка ключова дума

  2. Използване на php filter_var с mysql_real_escape_string

  3. mysqld услуга спира веднъж на ден на ec2 сървър

  4. Име на MySQL таблица като параметър

  5. MySQL изберете къде е равно на множество стойности